CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CheckInsideChange C# (CSharp) Method

CheckInsideChange() private method

private CheckInsideChange ( IFolder targetIFolder, IChangeEvents changeTokens ) : bool
targetIFolder IFolder
changeTokens IChangeEvents
return bool
            private bool CheckInsideChange(IFolder targetIFolder, IChangeEvents changeTokens)
            {
                var children = targetIFolder.GetChildren();
                var leafFolders = children.OfType<IFolder>();
                var leafFiles = children.OfType<IDocument>();

                var changed =
                    leafFolders.Any(childFolder => changeTokens.ChangeEventList.Any(change => childFolder.Id == change.ObjectId))
                    || leafFiles.Any(childFile => changeTokens.ChangeEventList.Any(change => childFile.VersionSeriesId == change.Properties["versionSeriesId"][0] as string))
                    ;
                if (changed) return true;

                foreach (var leafFolder in leafFolders)
                {
                    changed = CheckInsideChange(leafFolder, changeTokens);
                    if (changed) return true;
                }
                return false;
            }