code: public <T> Option<T> findOption(Option<T> option) {
          for (Option candidateOption : options) {
              if (candidateOption.hasSameNameAs(option)) {
                  return candidateOption;
              }
          }
          throw new RuntimeException("You tried to set an unexpected option");
      }
docs: Finds matching option by option name
  @param option the option used for matching
  @param <T> the type of the option
  @return matched option
  @throws RuntimeException when matching option not found