/// <inheritdoc/> protected override void ProcessIdentifiableItems(IIdentifiable identifiable, IObjectNode collection, NodeIndex index) { if (!targetIds.Contains(identifiable.Id)) { return; } if (PropertyGraphDefinition.IsTargetItemObjectReference(collection, index, identifiable)) { if (shouldClearReference?.Invoke(collection, index) ?? true) { collection.Update(null, index); } } }
/// <inheritdoc/> protected override void ProcessIdentifiableMembers(IIdentifiable identifiable, IMemberNode member) { if (!targetIds.Contains(identifiable.Id)) { return; } if (PropertyGraphDefinition.IsMemberTargetObjectReference(member, identifiable)) { if (shouldClearReference?.Invoke(member, NodeIndex.Empty) ?? true) { member.Update(null); } } }