code: public static BigInteger getBigIntegerOptional(
      final Properties properties,
      final String key,
      final BigInteger other)
      throws
      JPropertyIncorrectType
    {
      Objects.requireNonNull(properties, "Properties");
      Objects.requireNonNull(key, "Key");
      Objects.requireNonNull(other, "Default");
  
      final String text = properties.getProperty(key);
      if (text == null) {
        return other;
      }
      return parseInteger(key, text);
    }
docs: <p> Returns the integer value associated with {@code key} in the
  properties referenced by {@code properties} if it exists, otherwise
  returns {@code other}. </p>
  
  @param other      The default value
  @param properties The loaded properties.
  @param key        The requested key.
  
  @return The value associated with the key, parsed as an integer.
  
  @throws JPropertyIncorrectType If the value associated with the key cannot
  be parsed as an integer.