async detectRootFiles() {
    const input = this.input;

    schemaUtils.validateInputMultiFileAPI(input);
    if (!this.hasDefinedVersion && ('content' in input.data[0])) {
      return schemaUtils.mapGetRootFilesOutputToDetectRootFilesOutput([], input.specificationVersion);
    }
    let files = {},
      rootFiles,
      res,
      adaptedInput;

    if (input.origin === BROWSER) {
      path = pathBrowserify;
      OasResolverOptions.browser = true;
    }
    input.data.forEach((file) => {
      files[path.resolve(file.fileName)] = file.content ? file.content : '';
    });
    adaptedInput = schemaUtils.mapDetectRootFilesInputToGetRootFilesInput(input);
    adaptedInput.origin = input.origin;
    rootFiles = parse.getRootFiles(adaptedInput, concreteUtils.inputValidation, this.computedOptions, files,
      input.specificationVersion, false);
    res = schemaUtils.mapGetRootFilesOutputToDetectRootFilesOutput(rootFiles, input.specificationVersion);
    return res;
  }
@description Takes in a folder and identifies the root files in that folder
if there are different specification's versions will return only the ones that
corresponds to the field specificationVersion

@returns {object} root files information found in the input