@Override
	protected void loopImpl(ServerSocket listener) throws Exception {
		
		Socket socket = null;
		try {
			socket = listener.accept();
		} catch(SocketTimeoutException e) {
			// No-Op
		}
		
		try {
			if(socket != null) {
				logger.info("Socket recieved.");

				InputStream iStream = socket.getInputStream();
				String input = Utilities.stringify(iStream);
				
				String output = process(input);
				
				OutputStream oStream = socket.getOutputStream();
				Utilities.push(output, oStream);

				if(iStream != null) {
					socket.shutdownInput();
					iStream.close();
				}

				if(oStream != null) {
					socket.shutdownOutput();
					oStream.close();
				}
			}
		} finally {
			if(socket != null) {
				socket.close();
			}
		}
	}