private bool InternalRemove(TKey key) { if (!_isMessageType) { return(_internal.Remove(key)); } TValue value; if (_internal.TryGetValue(key, out value)) { ClearParent(value); _internal.Remove(key); return(true); } return(false); }