e.printStackTrace();
    private void initThreads() {        Runnable receiverRunnable = new Runnable() {            public void run() {                while (receiver == Thread.currentThread()) {                    INetworkPacket np=null;                    try {                        np = readNetworkPacket();                        if (np != null) {                            processPacket(np);                        }                    } catch (Exception e) {                        reportReceiveException(e);                        close();                    }                                   }            }            protected void processPacket(INetworkPacket np) throws Exception {                PacketMarshaller pm = marshallerFactory.getMarshaller(np.getMarshallingType());                megamek.debug.Assert.assertTrue(pm != null, "Unknown marshalling type");                Packet packet = null;                byte[] data = np.getData();                bytesReceived += data.length;                ByteArrayInputStream bis = new ByteArrayInputStream(data);                InputStream in;                if (np.isCompressed()) {                    in = new GZIPInputStream(bis);                                                } else {                    in = bis;                }                packet = pm.unmarshall(in);                if (packet != null) {                    debugLastFewCommandsReceived.push(packet.getCommand());                    processConnectionEvent(new PacketReceivedEvent(Connection.this, packet));                }                            }        };                receiver = new Thread(receiverRunnable, "Packet Receiver (" + getId() + ")"); //$NON-NLS-1$ //$NON-NLS-2$        Runnable senderRunable = new Runnable() {            public void run() {                while (sender == Thread.currentThread()) {                    Packet packet = sendQueue.getPacket();                    if (packet != null) {                        try {                            processPacket(packet);                        }catch (Exception e) {                            reportSendException(e, packet);                            close();                        }                    }                }            }            protected void processPacket(Packet packet) throws Exception {                sendNow(packet);            }        };                sender = new Thread(senderRunable, "Packet Sender (" + getId() + ")"); //$NON-NLS-1$ //$NON-NLS-2$                receiver.start();                sender.start();    }