validateFormat(
    indexName,
    collectionName,
    collectionSpec,
    verboseErrors = false,
  ) {
    // We make a deep clone to avoid side effects
    const specification = _.cloneDeep(collectionSpec);

    return (
      this.curateCollectionSpecification(
        indexName,
        collectionName,
        specification,
        true,
        verboseErrors,
      )
        .then((result) => {
          if (verboseErrors && result.isValid === false) {
            return result;
          }
          return { isValid: true };
        })
        // we do not want to reject since this method goal is
        // to know what is going wrong with the given spec
        .catch((error) => ({ errors: [error], isValid: false }))
    );
  }
@param {string} indexName
@param {string} collectionName
@param {CollectionSpecification} collectionSpec
@param {boolean} [verboseErrors]
@returns {Promise<object>}