code: @Override
      public void processIOSettingQuestion(IOSetting setting) {
          String questionName = setting.getName();
          if (props != null) {
              String propValue = props.getProperty(questionName, setting.getSetting());
              try {
                  setting.setSetting(propValue);
              } catch (CDKException exception) {
                  String message = "Submitted Value (" + propValue + ") is not valid!";
                  out.println(message);
              }
          }
      }
docs: Processes the IOSettings by listing the question, giving the options
  and asking the user to provide their choice.
  
  <p>Note: if the input reader is <code>null</code>, then the method
  does not wait for an answer, and takes the default.