code: @CheckForNull
    public Double getDouble(String key) {
      String value = getString(key);
      if (StringUtils.isNotEmpty(value)) {
        try {
          return Double.valueOf(value);
        } catch (NumberFormatException e) {
          throw new IllegalStateException(String.format("The property '%s' is not a double value", key));
        }
      }
      return null;
    }
docs: Effective value as {@code Double}.
  @return the value as {@code Double}. If the property does not have value nor default value, then {@code null} is returned.
  @throws NumberFormatException if value is not empty and is not a parsable number