public RPCMessageImpl(AuthNodeId authNodeId, Authenticator authenticator, RPC rpc)
	{
		if (authNodeId == null)
			throw new NullPointerException("The authNodeId is null!");
		if (authenticator == null)
			throw new NullPointerException("The authenticator is null!");
		if (rpc == null)
			throw new NullPointerException("The rpc is null!");
		
		this.authNodeId = authNodeId;
		this.authenticator = authenticator;
		this.rpc = rpc;
		
		RPC.OpCode rpcOpcode = rpc.getRPCOpCode();
		if (rpcOpcode.isRequest())
			this.opcode = DHTMessage.OpCode.RPC_REQ;
		else
			this.opcode = DHTMessage.OpCode.RPC_RES;
	}