internal Enumerator([NotNull] ObservableKeyedDictionary <TKey, TValue> dictionary)
 {
     _dictionary = dictionary;
     _version    = dictionary._version;
     _index      = 0;
     Current     = default(TKey);
 }
            private int                                               _getEnumeratorRetType; // What should Enumerator.Current return?

            internal Enumerator([NotNull] ObservableKeyedDictionary <TKey, TValue> dictionary, int getEnumeratorRetType)
            {
                _dictionary           = dictionary;
                _version              = dictionary._version;
                _index                = 0;
                _getEnumeratorRetType = getEnumeratorRetType;
                _current              = new KeyValuePair <TKey, TValue>();
            }
 public ValueCollection([NotNull] ObservableKeyedDictionary <TKey, TValue> dictionary)
 {
     _dictionary = dictionary;
 }