public override void Creating(IObject newObject)
        {
            if (IsCompletingOperation)
            {
                return;
            }

            IFeature newFeature = newObject as IFeature;

            if (NetworkDefinition.IsNetworkFeature(newFeature))
            {
                _createdInOperation.Add(newFeature);

                NetworkFeatureFinder.TargetFeatureCandidates?.Add(newFeature);
            }
        }
        public override void Deleting(IObject deletedObject)
        {
            if (IsCompletingOperation)
            {
                return;
            }

            IFeature deletedFeature = deletedObject as IFeature;

            if (NetworkDefinition.IsNetworkFeature(deletedFeature))
            {
                _deletedInOperation.Add(deletedFeature);

                NetworkFeatureFinder.TargetFeatureCandidates?.Remove(deletedFeature);
            }
        }
        public override void Updating(IObject objectToBeStored)
        {
            if (IsCompletingOperation)
            {
                return;
            }

            IFeature storedFeature = objectToBeStored as IFeature;

            if (!NetworkDefinition.IsNetworkFeature(storedFeature))
            {
                return;
            }

            if (_updatedInOperation.ContainsKey(Assert.NotNull(storedFeature)))
            {
                return;
            }

            if (_createdInOperation.Contains(storedFeature))
            {
                return;
            }

            if (!((IFeatureChanges)storedFeature).ShapeChanged)
            {
                return;
            }

            IGeometry originalShape = ((IFeatureChanges)storedFeature).OriginalShape;

            if (originalShape == null)
            {
                // ObjectClass events (on enterprise GDB) do not call OnCreate(), but OnChange() with null original
                _createdInOperation.Add(storedFeature);
            }
            else
            {
                _updatedInOperation.Add(storedFeature, originalShape);
            }
        }