code: public String getValueOr(String key, String alternateValue)
      throws IOException {
      String value = this.getValue(key);
      if (value == null) {
        return alternateValue;
      } else {
        return value;
      }
    }
docs: Return a value from the component, or return a default value.
  <p>
  <strong>NOTE:</strong>Use this for values only, not to retrieve
  subcomponents. Use class specific methods to retrieve subcompnents.
  <p>
  Calls {@link #getValue} on the current component. If the value
  is {@code null}, return {@code alternateValue}.
  
  @param key Key to look up in the component.
  @param alternateValue default value is key is not found in component.
  @return a String value for this component.
  @throws IOException if there is an I/O error