code: public static <S extends WicketSettings> CroquetWicketBuilder<S> create(final Class<S> settingsClass, final String[] args) {
          if (args.length < 1) {
              System.err.println("Configuration YAML file not provided");
              System.exit(-1);
          }
  
          // parse the arguments and configuration file here
          final String filename = args[0];
          final ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
  
          final S configuration;
          try {
              configuration = mapper.readValue(new File(filename), settingsClass);
              configuration.initialize();
  
          } catch (final JsonParseException e) {
              LOG.error("JsonParseException: {}", e.getMessage());
              throw errorAndDie(filename, e.getMessage());
          } catch (final JsonMappingException e) {
              LOG.error("JsonMappingException: {}", e.getMessage());
              throw errorAndDie(filename, e.getMessage());
          } catch (final IOException e) {
              LOG.error("IOException: {}", e.getMessage());
              throw errorAndDie(filename, e.getMessage());
          }
  
          new CroquetLoggingFactory().configureLogging(configuration.getLoggingSettings());
  
          return new CroquetWicketBuilder<S>(settingsClass, configuration);
      }
docs: Creates an instance of the {@link CroquetWicketBuilder} given the command line args.
  @param settingsClass the Class of the Settings class.
  @param args the command line args.
  @return an instance of the {@link CroquetWicketBuilder}.
  @param <S> the type of the settings class.