@Override
 public synchronized void connect() throws IOException {
   this.connected = true;
   super.connect();
 }
 @Override
 public synchronized void disconnect() {
   this.connected = false;
   super.disconnect();
 }