Multiple Client - Multi-threaded Server Application in Java