docs: public static FormatterBuilder createFormatterBuilder(Properties formatterProperties) throws Exception {
  
          FormatterBuilder builder;
          AbstractFormatterFactory factory;
  
          if (formatterProperties.size() > 0) {
              String formatterClass = formatterProperties.getProperty("formatter");
              String format = formatterProperties.getProperty("format", "csv");
              Class<?> classz = Class.forName(formatterClass);
              Class<?>[] ctorParmTypes = new Class[]{ String.class, Properties.class };
              Constructor<?> ctor = classz.getDeclaredConstructor(ctorParmTypes);
              Object[] ctorParms = new Object[]{ format, formatterProperties };
  
              factory = new AbstractFormatterFactory() {
                  @Override
                  public Formatter create(String formatName, Properties props) {
                      try {
                          return (Formatter) ctor.newInstance(ctorParms);
                      }
                      catch (Exception e) {
                          VoltDB.crashLocalVoltDB("Failed to create formatter " + formatName);
                          return null;
                      }
  
                  }
              };
              builder = new FormatterBuilder(format, formatterProperties);
          } else {
              factory = new VoltCSVFormatterFactory();
              Properties props = new Properties();
              factory.create("csv", props);
              builder = new FormatterBuilder("csv", props);
          }
  
          builder.setFormatterFactory(factory);
          return builder;
      }