### Feature and motivation

Currently `Select` methods work even the `option` is disabled. Or `select` is disabled.

I suggest these `selectByFoo` methods should throw an exception. 

### Usage example

```java
new Select(element).selectByVisibleText("fish");
```


### Pull request

see https://github.com/SeleniumHQ/selenium/pull/10814
*         is done by checking the value of the "multiple" attribute.
   */
  @Override
  public boolean isMultiple() {
    return isMulti;
  }
  /**
   * @return All options belonging to this select tag
   */
  @Override
  public List<WebElement> getOptions() {
    return element.findElements(By.tagName("option"));
  }
  /**
   * @return All selected options belonging to this select tag
   */
  @Override
  public List<WebElement> getAllSelectedOptions() {
    return getOptions().stream().filter(WebElement::isSelected).collect(Collectors.toList());
  }
  /**
   * @return The first selected option in this select tag (or the currently selected option in a
   *         normal select)
   * @throws NoSuchElementException If no option is selected
   */
  @Override
  public WebElement getFirstSelectedOption() {
    return getOptions().stream().filter(WebElement::isSelected).findFirst()
        .orElseThrow(() -> new NoSuchElementException("No options are selected"));
  }