private Node findInNetwork(Messages msg, String what) {
		this.specificNode = this.info.getNodeManager().lookUpName(what);

		if (this.info.getRessourceManager().checkRessources(what)) {
			return this.info.getSelf();
		}
		if (this.specificNode == null) {
			this.specificNode = new Node();
			String msgToSend = what + "," + this.info.getSelf().getPort() + "," + this.info.getSelf().getIp();

			this.udpClient.broadCast(msg, msgToSend, this.info.getNodeManager().getNodeTable());
			// Wait for an answer
			synchronized (this.specificNode) {
				while (this.specificNode.getIp() == null) {
					try {
						// if no node knows the node to find after ten seconds, then return null
						long start = System.currentTimeMillis();
						this.specificNode.wait(10000);
						if ((System.currentTimeMillis() - start) >= 10000)
							return null;
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}
		return this.specificNode;
	}