code: @VisibleForTesting
    public void addSource(InputFile file) {
      if (globalCombinedUnit != null) {
        inputs.add(new ProcessingContext(file, globalCombinedUnit));
      } else {
        inputs.add(ProcessingContext.fromFile(file, options));
      }
    }
docs: Adds the given InputFile to this GenerationBatch,
  creating GenerationUnits and inferring unit names/output paths as necessary.