в Методе Close Идея подчеркивает ссылки на потоки, и предлагает их инициализировать. А так как ссылки имеют свойство final то при инициализации их не возможно инициализировать в конструкторе. Замкнутый круг.
public void close() throws IOException{}{
    if(this.socket!=null)socket.close();
    if(this.in!=null)socket.close();
    if(this.out!=null)socket.close();
 }
Что то я не понимаю как закрыть потоки (final) при инициализации их в конструкторе.