code: public void select(int index) {
          String action = SELECTING + index + " in " + prettyOutput();
          String expected = prettyOutputStart() + PRESENT_DISPLAYED_AND_ENABLED + index + SELECTED;
          try {
              if (isNotPresentDisplayedEnabledSelect(action, expected)) {
                  return;
              }
              String[] options = get.selectOptions();
              if (index > options.length) {
                  reporter.fail(action, expected,
                          "Unable to select the <i>" + index + "</i> option, as there are only <i>" + options.length +
                                  "</i> available.");
                  return;
              }
              // do the select
              WebElement webElement = getWebElement();
              Select dropdown = new Select(webElement);
              dropdown.selectByIndex(index);
          } catch (Exception e) {
              log.warn(e);
              reporter.fail(action, expected, CANT_SELECT + prettyOutputEnd() + e.getMessage());
              return;
          }
          reporter.pass(action, expected, "Selected option <b>" + index + INN + prettyOutputEnd().trim());
      }
docs: Selects the Nth option from the element, starting from 0, but only if the
  element is present, displayed, enabled, and an input. If those conditions
  are not met, the select action will be logged, but skipped and the test
  will continue.
  
  @param index - the select option to be selected - note, row numbering
  starts at 0