public void Remove(ObjectID id)
        {
            ArgumentUtility.CheckNotNull("id", id);

            var dataContainer = this[id];

            if (dataContainer == null)
            {
                var message = string.Format("Data container '{0}' is not part of this map.", id);
                throw new ArgumentException(message, "id");
            }

            _transactionEventSink.RaiseDataContainerMapUnregisteringEvent(dataContainer);
            _dataContainers.Remove(dataContainer);
        }