docs: private List<ApolloCodegenIRArgs> codeGenArgs(Set<File> files) {
      final List<File> schemaFiles = getSchemaFilesFrom(files);
  
      if (schemaFiles.isEmpty()) {
        throw new GradleException("Couldn't find schema files for the variant " + Utils.capitalize(variant) + ". Please" +
            " ensure a valid schema.json exists under the varian't source sets");
      }
  
      if (illegalSchemasFound(schemaFiles)) {
        throw new GradleException("Found an ancestor directory to a schema file that contains another schema file." +
            " Please ensure no schema files exist on the path to another one");
      }
  
      ImmutableMap.Builder<String, ApolloCodegenIRArgs> schemaQueryMap = ImmutableMap.builder();
      for (final File f : schemaFiles) {
        final String normalizedSchemaFileName = getPathRelativeToSourceSet(f);
        // ensures that only the highest priority schema file is used
        if (schemaQueryMap.build().containsKey(normalizedSchemaFileName)) {
          continue;
        }
        schemaQueryMap.put(normalizedSchemaFileName, new ApolloCodegenIRArgs(f, FluentIterable.from(files).filter(new Predicate<File>() {
          @Override public boolean apply(@Nullable File file) {
            return file != null && !schemaFiles.contains(file) && file.getParent().contains(getPathRelativeToSourceSet(f.getParentFile()));
          }
        }).transform(new Function<File, String>() {
          @Nullable @Override public String apply(@Nullable File file) {
            return file.getAbsolutePath();
          }
        }).toSet(), new File(outputFolder.getAbsolutePath() + File.separator + task.getProject().relativePath(f.getParent()
        ))));
      }
      return schemaQueryMap.build().values().asList();
    }