public void fileReplicationTransfer(ArrayList<String> fileList)
	{
		synchronized(fileList)
		{
			try
			{			
				for(String file : fileList)
				{
					File f = fileManager.getSystemFile(file);
					
					try
					{
						if(f.isFile())
						{						
							Node ownerNode;
							try
							{
								NodeManagerInterface iFaceServer = (NodeManagerInterface) fileManager.getNodeServerInterface();
								
								ownerNode = iFaceServer.getFileLocation(f.getName());
							}
							catch(NullPointerException | RemoteException e)
							{
								System.err.println("Failed to contact the server: " + e.getMessage());
								fileManager.serverConnectionFailure();
								return;
							}
							
							try
							{
								//This node is owner, put replication on previous node
								if(ownerNode.equals(fileManager.getThisNode())) 
								{
									FileManagerInterface iFaceNode = (FileManagerInterface) fileManager.getFileManagerInterface(fileManager.getPrevNode());
		
									iFaceNode.replicateFile(f.getName(), fileManager.getThisNode());
								}
								//Other node should be owner, make him owner, make yourself replication location
								else
								{
									FileManagerInterface iFaceNode = (FileManagerInterface) fileManager.getFileManagerInterface(ownerNode);
									
									fileManager.getOwnerFile(f.getName()).setReplicationLocation(fileManager.getThisNode());
									
									iFaceNode.ownerSwitchFile(f.getName(), fileManager.getThisNode());
									
									fileManager.addReplicatedFile(f.getName());
								}
							}
							catch(NullPointerException | RemoteException e)
							{
								System.err.println("Failed to contact to node '" + ownerNode.getHostname() + "': " + e.getMessage());
								fileManager.nodeConnectionFailure(ownerNode.getHostname());
								continue;
							}
						}
					}
					catch(NullPointerException e)
					{
						System.err.println("File '" + file + "' cannot be found: " + e.getMessage());
					}
				}
			}
			catch(SecurityException e)
			{
				System.err.println("Security Exception: " + e.getMessage());
				return;
			}
		}
	}