code: @MustBeLocked (ELockType.WRITE)
    @Nonnull
    protected final IMPLTYPE internalCreateItem (@Nonnull final IMPLTYPE aNewItem, final boolean bInvokeCallbacks)
    {
      // Add to map
      _addItem (aNewItem, EDAOActionType.CREATE);
  
      // Trigger save changes
      super.markAsChanged (aNewItem, EDAOActionType.CREATE);
  
      if (bInvokeCallbacks)
      {
        // Invoke callbacks
        m_aCallbacks.forEach (aCB -> aCB.onCreateItem (aNewItem));
      }
      return aNewItem;
    }
docs: Add an item including invoking the callback. Must only be invoked inside a
  write-lock.
  
  @param aNewItem
  The item to be added. May not be <code>null</code>.
  @param bInvokeCallbacks
  <code>true</code> to invoke callbacks, <code>false</code> to not do
  so.
  @return The passed parameter as-is. Never <code>null</code>.
  @throws IllegalArgumentException
  If an item with the same ID is already contained
  @since 9.2.1