public boolean shutdownFileUpdate()
	{
		ArrayList<String> deleteFiles = new ArrayList<String>();
		
		//Updating download locations or delete file from system if it's a local file that's not downloaded
		for(File f : fileManager.getLocalSystemFiles())
		{
			String fileName = f.getName();
			
			if(fileManager.getNetworkFiles().contains(fileName))
			{
				fileManager.deleteDownloadLocation(fileName);				//Delete download location from this node
				
				if(fileManager.getLocalFiles().contains(fileName))
				{
					try
					{
						NodeManagerInterface iFaceServer = (NodeManagerInterface) fileManager.getNodeServerInterface();
						Node fileOwner = iFaceServer.getFileLocation(fileName);
						
						try
						{
							if(fileOwner != null)
							{
								FileManagerInterface iFaceNode = (FileManagerInterface) fileManager.getFileManagerInterface(fileOwner);
								FileProperties ownerFile = iFaceNode.getOwnerFile(fileName);
								
								if(ownerFile != null)
								{
									if(ownerFile.getDownloadLocations().size() == 0)
									{
										deleteFiles.add(fileName);
									}
								}
							}
							else
							{
								System.err.println("Can't find file owner node for checking the download locations.");
							}
						}
						catch(NullPointerException | RemoteException e)
						{
							System.err.println("Can't contact the file owner node for checking the download locations: " + e.getMessage());
							fileManager.nodeConnectionFailure(fileOwner.getHostname());
							return false;
						}
					}
					catch(NullPointerException | RemoteException e)
					{
						System.err.println("Can't contact the server for checking the download locations: " + e.getMessage());
						fileManager.serverConnectionFailure();
						return false;
					}
				}
			}
		}
		
		if(deleteFiles.size() > 0)
		{			
			fileManager.deleteFilesFromNetwork(deleteFiles);
		}
		return true;
	}