code: public String getProperty(String name, String defaultValue) throws IllegalStateException {
          Validate.notNullOrEmpty(name, "Unable to get the configuration value of null or empty configuration key");
          Validate.notNull(defaultValue, "Unable to set configuration value of " + name + " to null object.");
  
          String found = getConfiguration().get(name);
          if (found == null || found.isEmpty()) {
              return defaultValue;
          } else {
              return found;
          }
      }
docs: Gets value of {@code name} property. In case a value for such name does not exist or is a null object or an empty string,
  {@code defaultValue} is returned.
  
  @param name name of a property you want to get the value of
  @param defaultValue value returned in case {@code name} is a null string or it is empty
  @return value of a {@code name} property of {@code defaultValue} when {@code name} is null or empty string
  @throws IllegalArgumentException if {@code name} is a null object or an empty string or if {@code defaultValue} is a null
  object