private NetworkClient(INetwork network) {
		PropertyConfigurator.configure("log4j.properties");
		loggerNetworkClient.addAppender(GUI.customAppender.getFileAppender());
		//PropertyConfigurator.configure("log4j.properties");
		
		// set network IF NOT ALREADY SET
		if (NetworkClient.network == null) {
			NetworkClient.network = network;
		} else if (NetworkClient.network != network) {
			// Signalizes an error if there is an attempt to set a static field
			// to 2 different values
			System.err.println("[Network Client] Static field network is "
					+ "already set to another value !!!");
		}

		try {
			selector = Selector.open();
			socketChannel = SocketChannel.open();

			// configure connection to be non-blocking
			socketChannel.configureBlocking(false);
			running = true;

			// connect to the remote server
			socketChannel.connect(new InetSocketAddress(NetworkInfo.IP,
					NetworkInfo.PORT));

			socketChannel.register(selector, SelectionKey.OP_READ);

		} catch (IOException e) {
			System.err.println("Error opening client channel");
			e.printStackTrace();
		}

	}