public void Dispose()
                {
                    _enumerator?.Dispose();
                    _enumerator = default;

                    _parent?.Dispose();
                    _parent = default;

                    Pool <EnumeratorRef> .Return(this);
                }
 public IPoolingEnumerator <T> Init(EnumerableShared <T> parent, IPoolingEnumerable <T> src)
 {
     _parent     = parent;
     _enumerator = src.GetEnumerator();
     return(this);
 }