private RootDiffNode CalculateDiffInternal(Object obj1, Object obj2, bool calculatingNewDiff) { SerializedObject diffedSO1 = new SerializedObject(obj1); SerializedObject diffedSO2 = new SerializedObject(obj2); List <DiffNode> diffNodes; CompareProperties(diffedSO1.EnumerateDirectChildren(), diffedSO2.EnumerateDirectChildren(), diffedSO1, diffedSO2, out diffNodes); RootDiffNode rootDiffNode = new RootDiffNode(diffedSO1, diffedSO2, diffNodes.ToArray()); if (calculatingNewDiff) { rootDiffNode.SetExpandedState(); } return(rootDiffNode); }