public static bool SameOrEquals <T>(this Generic.IEnumerator <T> me, Generic.IEnumerator <T> other) { return(me.IsNull() && other.IsNull() || me.NotNull() && other.NotNull() && (me.MoveNext() ? other.MoveNext() && me.Current.SameOrEquals(other.Current) && me.SameOrEquals(other) : !other.MoveNext())); }