@@ -0,0 +1,1538 @@
+package me.jesensky.dan.playertracker;%0A%0Aimport me.jesensky.dan.playertracker.exceptions.InvalidPacketException;%0Aimport me.jesensky.dan.playertracker.net.Connection;%0Aimport me.jesensky.dan.playertracker.net.packets.DataResponsePacket;%0Aimport me.jesensky.dan.playertracker.net.packets.Packet;%0A%0Aimport java.io.IOException;%0A%0Apublic class RequestManager extends Thread %7B%0A    private Connection c;%0A%0A    public RequestManager(Connection c) %7B%0A        super(%22Data Request Manager%22);%0A        this.c = c;%0A    %7D%0A%0A    @Override%0A    public void run() %7B%0A        try %7B%0A            if (this.c.dataRemaining()) %7B%0A                Packet p = this.c.readData();%0A%0A                switch (p.getType()) %7B%0A                    case LOGIN_RESPONSE:%0A%0A                        break;%0A                    case DATA_RESPONSE:%0A                        DataResponsePacket packet = (DataResponsePacket) p;%0A                        String name, notes, violations;%0A                        UserViolationLevel vl;%0A                        name = packet.getName();%0A                        notes = packet.getNotes();%0A                        violations = packet.getViolations();%0A                        vl = packet.getViolationLevel();%0A                        //TODO show a new UI detailing the player whose details were received%0A                        break;%0A                    default:%0A                        break;%0A                %7D%0A            %7D%0A        %7D catch (IOException %7C InvalidPacketException e) %7B%0A            //TODO log exception%0A        %7D%0A        super.run();%0A    %7D%0A%7D

Implement ResponseManager, the client's equiv. to Server's ConnMgr.