public void fileAgentSend(FileAgent agent)
	{
		if(agent != null)
		{
			delAgentsRunning();
			
			if(!client.getNextNode().equals(client.getThisNode()))
			{
				try
				{
					AgentManagerInterface iFace = (AgentManagerInterface)client.getAgentManagerInterface(client.getNextNode());
					iFace.fileAgentReceived(agent);
				}
				catch(RemoteException | NullPointerException e)
				{
					System.err.println("Can't pass file agent to next node: " + e.getMessage());
					client.nodeConnectionFailure(client.getNextNode().getHostname());
				}
			}
			else
			{
				this.fileAgentReceived(agent);
			}
			
			if(this.master)
			{
				bufferedFileAgent = null;		//Clear pointer to buffered agent before GC run
				timeOut.startTimer();
			}
			
			//Force garbage collector to remove file agent
			System.gc();	
		}
		else
		{
			client.printTerminalError("Illegal file agent detected - status: null");
			if((this.getAgentsRunning() - this.getFailureAgentsRunning() - this.getDeletionAgentsRunning()) > 0)
			{
				delAgentsRunning();
			}
		}
	}