public bool Filter(FileHeader file, Guid destinationId, IEnumerable<FileHeader> candidatesToSynchronization)
{
// prevent synchronization back to source
if (file.Metadata[SynchronizationConstants.RavenSynchronizationSource] == destinationId.ToString())
return false;
if (file.Name.EndsWith(RavenFileNameHelper.DownloadingFileSuffix))
return false;
if (file.Name.EndsWith(RavenFileNameHelper.DeletingFileSuffix))
return false;
if (file.IsFileBeingUploadedOrUploadHasBeenBroken())
return false;
if (ExistsRenameTombstone(file.Name, candidatesToSynchronization))
return false;
return true;
}