public void processPacket(Object object, EziPeer p) {
        String classname = object.getClass().getSimpleName();

        switch (classname) {
            case "EziDataPacket":
                routePacket((EziDataPacket) object, p);
                break;
            case "EziPacketRequest":
                routeDataRequest((EziPacketRequest) object, p);
                break;
            case "EziPacketResponse":
                routeDataResponse((EziPacketResponse) object, p);
                break;
            case "EziInfoPacket":
                routeInfoPacket((EziInfoPacket) object, p);
                break;
        }
    }