code: public String getRequiredConfigAttributeWithDefaultValueAndConfigId(Map<String, Object> props, String key, String defaultValue, String configId) {
          String result = getAndTrimConfigAttribute(props, key);
          if (key != null && result == null) {
              if (defaultValue != null) {
                  result = defaultValue;
              } else {
                  logMessageForMissingRequiredAttribute(key, configId);
              }
          }
          return result;
      }
docs: Returns the value for the configuration attribute matching the key provided. If the value does not exist or is empty, the
  provided default value will be returned. If the default value is also null, an error message will be logged.