private ServiceModelException CreateIdPropertyInfoMissingException()
        {
            var resourceTypeDescription = "{0} [clrType={1}]".FormatWith(typeof(ResourceType), this.Id.ClrDeclaringType.Name);

            var idPropertyInfoDescription = "Id{0}".FormatWith(typeof(PropertyInfo).Name);

            var detail = CoreErrorStrings.ServiceModelExceptionDetailMissingMetadata
                         .FormatWith(resourceTypeDescription, idPropertyInfoDescription);
            var idPropertyInfoMissingException = new ServiceModelException(detail);

            return(idPropertyInfoMissingException);
        }
        // PROTECTED METHODS ////////////////////////////////////////////////
        #region Methods
        protected ServiceModelException CreateInfoMissingException <TInfo>()
        {
            var serviceModelInfoTypeName = this.GetType().Name;
            var clrTypeDescription       = "{0} [clrType={1}]".FormatWith(serviceModelInfoTypeName, this.ClrTypeName);

            var infoDescription = typeof(TInfo).Name;

            var detail = CoreErrorStrings.ServiceModelExceptionDetailMissingMetadata
                         .FormatWith(clrTypeDescription, infoDescription);
            var infoMissingException = new ServiceModelException(detail);

            return(infoMissingException);
        }