public Writer newConnectionWriter(Writer newWriter) {
   ((ObservableWriter) writer).removeWriterListener(writerListener);
   ObservableWriter debugWriter = new ObservableWriter(newWriter);
   debugWriter.addWriterListener(writerListener);
   writer = debugWriter;
   return writer;
 }
 /** Stops debugging the connection. Removes any listener on the connection. */
 void cancel() {
   connection.removeConnectionListener(connListener);
   connection.removePacketListener(packetReaderListener);
   connection.removePacketSendingListener(packetWriterListener);
   ((ObservableReader) reader).removeReaderListener(readerListener);
   ((ObservableWriter) writer).removeWriterListener(writerListener);
   messagesTable = null;
 }
 /**
  * Notification that the root window is closing. Stop listening for received and transmitted
  * packets.
  *
  * @param evt the event that indicates that the root window is closing
  */
 public void rootWindowClosing(WindowEvent evt) {
   connection.removePacketListener(listener);
   ((ObservableReader) reader).removeReaderListener(readerListener);
   ((ObservableWriter) writer).removeWriterListener(writerListener);
 }