public virtual ID GetNewItemId(Item mediaItem)
        {
            Assert.ArgumentNotNull(mediaItem, "mediaItem");

            var synchronizer = this.GetItemSynchronizer(mediaItem);

            if (synchronizer == null)
            {
                return(null);
            }

            object entity = this.CreateEntity(mediaItem, synchronizer);

            if (entity == null)
            {
                return(null);
            }

            Item accountItem = this.GetAccountItem(mediaItem);

            if (accountItem == null)
            {
                return(null);
            }

            var mediaData = synchronizer.GetMediaData(entity);

            if (mediaData == null)
            {
                return(null);
            }

            return(IdUtil.GenerateItemId(accountItem, mediaData));
        }
 protected virtual ID GenerateItemId(Item accountItem, MediaServiceEntityData mediaData)
 {
     return(IdUtil.GenerateItemId(accountItem, mediaData));
 }