docs: static File getOutputDirectoryForClass(GraphContext context, JavaClassFileModel fileModel)
      {
          final File result;
          WindupConfigurationModel configuration = WindupConfigurationService.getConfigurationModel(context);
          File inputPath = fileModel.getProjectModel().getRootProjectModel().getRootFileModel().asFile();
          if (PathUtil.isInSubDirectory(inputPath, fileModel.asFile()))
          {
              String outputPath = configuration.getOutputPath().getFilePath();
              result = Paths.get(outputPath).resolve("classes").toFile();
          }
          else
          {
  
              String packageName = fileModel.getPackageName();
              if (StringUtils.isBlank(packageName))
                  return fileModel.asFile().getParentFile();
  
              String[] packageComponents = packageName.split("\\.");
              File rootFile = fileModel.asFile().getParentFile();
              for (int i = 0; i < packageComponents.length; i++)
              {
                  rootFile = rootFile.getParentFile();
              }
              result = rootFile;
          }
          return result;
      }