// This method is internal so that callers can't override which function they call. internal IDictionary GetDataInternal() { if (_data == null) if (IsImmutableAgileException(this)) _data = new EmptyReadOnlyDictionaryInternal(); else _data = new ListDictionaryInternal(); return _data; }