internal PnP.Core.Model.SharePoint.IContentType GetContentType(PnPBatch batch, PnP.Core.Model.SharePoint.IList list)
        {
            PnPCore.IContentType returnCt = null;
            if (_contentType is object)
            {
                var stringId  = _contentType.EnsureProperty(c => c.StringId);
                var batchedCt = batch.GetCachedContentType(stringId);
                if (batchedCt != null)
                {
                    return(batchedCt);
                }
                returnCt = list.ContentTypes.FirstOrDefault(c => c.StringId == stringId);
            }
            var id = _idOrName.ToLower().StartsWith("0x0") ? _idOrName : null;

            if (!string.IsNullOrEmpty(id))
            {
                var batchedCt = batch.GetCachedContentType(id);
                if (batchedCt != null)
                {
                    return(batchedCt);
                }
                returnCt = list.ContentTypes.FirstOrDefault(c => c.Id == id);
            }
            else
            {
                var batchedCt = batch.GetCachedContentType(_idOrName);
                if (batchedCt != null)
                {
                    return(batchedCt);
                }
                returnCt = list.ContentTypes.FirstOrDefault(c => c.Name == _idOrName);
            }
            if (returnCt != null)
            {
                returnCt.EnsureProperties(ct => ct.StringId);
                batch.CacheContentType(returnCt);
            }
            return(returnCt);
        }
 public ContentTypePipeBind(PnPCore.IContentType contentType)
 {
     _coreContentType = contentType ?? throw new ArgumentNullException(nameof(contentType));
 }