private <T> T iterate(Producer<? extends T> processor, T defaultValue, @Nullable SourcePosition position) {
    FileType fileType = position != null ? position.getFile().getFileType() : null;
    return iterate(processor, defaultValue, fileType, true);
  }
private <T> T iterate(Producer<? extends T> processor, T defaultValue, @Nullable SourcePosition position)