/// <summary>
        /// Adds new entity to be inserted
        /// </summary>
        /// <param name="entity">The entity to be added to teh collection.</param>
        /// <param name="listName">Name of the list.</param>
        internal void Add(TEntity entity, string listName)
        {
            TEntityWrapper <TEntity> _wrpr = new TEntityWrapper <TEntity>(m_DataContext, entity, MyList, PropertyChanged);

            _wrpr.Attach(m_EntityPropertiesDictionary[_wrpr.ContentTypeID], listName);
            m_Collection.Add(_wrpr.Index, _wrpr);
            m_Unchanged = false;
        }
        /// <summary>
        /// Adds an entity for the specified list item.
        /// </summary>
        /// <param name="listItem">The list item.</param>
        /// <returns>Created wrapper object</returns>
        internal TEntity Add(ListItem listItem)
        {
            string _contentTypeID          = listItem.GetContentTypeID();
            TEntityWrapper <TEntity> _ewrp = new TEntityWrapper <TEntity>(m_DataContext, listItem, m_DerivedTypes[_contentTypeID], m_ListItemPropertiesDictionary[_contentTypeID], PropertyChanged);
            TEntity _newEntity             = _ewrp.TEntityGetter;

            m_Collection.Add(_ewrp.Index, _ewrp);
            return(_newEntity);
        }