code: public static void runExample(
        AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
      // Get the ReportDefinitionService.
      ReportDefinitionServiceInterface reportDefinitionService =
          adWordsServices.get(session, ReportDefinitionServiceInterface.class);
  
      // Get report fields.
      ReportDefinitionField[] reportDefinitionFields =
          reportDefinitionService
              .getReportFields(ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT);
  
      // Display report fields.
      System.out.println("Available fields for report:");
  
      for (ReportDefinitionField reportDefinitionField : reportDefinitionFields) {
        System.out.printf("\t %s(%s) := [", reportDefinitionField.getFieldName(),
            reportDefinitionField.getFieldType());
        if (reportDefinitionField.getEnumValues() != null) {
          for (String enumValue : reportDefinitionField.getEnumValues()) {
            System.out.printf("%s, ", enumValue);
          }
        }
        System.out.println("]");
      }
    }
docs: Runs the example.
  
  @param adWordsServices the services factory.
  @param session the session.
  @throws ApiException if the API request failed with one or more service errors.
  @throws RemoteException if the API request failed due to other errors.