class func_server_char extends Thread { protected List<Socket> players = new ArrayList<Socket>(10); private Socket socket = null; protected int count = 0; public final int myID; public func_server_char(Socket socket) { this.socket = socket; func_server_install.count++; // count is declared in that class as public static int count = 0; myID = func_server_install.count; System.out.println(myID); // See this shows 1 players.add(myID,socket); // adding it to players causes problem.. System.out.println("Added nr #"+myID+" to a players list"); } public void run() { try { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); out.println("ID:"+myID); while (in.readLine() != null) { } out.close(); players.remove(myID); func_server_install.count--; // When he gets removed from server. System.out.println("Lost client "+myID); in.close(); socket.close(); } catch (java.io.IOException e) { e.printStackTrace(); } }}/* This is an error what im getting from players.add(myID,socket)1Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 0 at java.util.ArrayList.add(ArrayList.java:368) at func_server_char.<init>(func_server_install.java:60) at func_server_install.<init>(func_server_install.java:26) at func_server.<init>(func_server.java:10) at func_server.main(func_server.java:15)erti@ertiroot:~/Desktop/func_server$As you can