/**
   * Returns a new single-objective {@link RepeatedSingleObjective} instance.
   *
   * @param properties the properties for customizing the new {@code RepeatedSingleObjective}
   *     instance
   * @param problem the problem
   * @return a new {@code RepeatedSingleObjective} instance
   */
  private Algorithm newRSO(TypedProperties properties, Problem problem) {
    String algorithmName = properties.getString("algorithm", "GA");
    int instances = (int) properties.getDouble("instances", 100);

    if (!properties.contains("method")) {
      properties.setString("method", "min-max");
    }

    return new RepeatedSingleObjective(
        problem, algorithmName, properties.getProperties(), instances);
  }