public virtual void Dispose()
 {
     collection = null;
     current    = default(T);
     index      = -1;
 }
 public GenericEnumerator(GenericCollection <T> collection)
 {
     this.collection = collection;
     index           = -1;
     current         = default(T);
 }