docs: @FFDCIgnore(Exception.class)
      public static long parseDuration(Object configAlias, String propertyKey, Object obj, long defaultValue, TimeUnit units) {
          if (obj != null) {
              try {
                  if (obj instanceof String)
                      return evaluateDuration((String) obj, units);
                  else if (obj instanceof Long)
                      return (Long) obj;
              } catch (Exception e) {
                  Tr.warning(tc, "invalidDuration", configAlias, propertyKey, obj);
                  throw new IllegalArgumentException("Duration value could not be parsed: key=" + propertyKey + ", value=" + obj, e);
              }
  
              // unknown type
              Tr.warning(tc, "invalidDuration", configAlias, propertyKey, obj);
              throw new IllegalArgumentException("Duration value could not be parsed: key=" + propertyKey + ", value=" + obj);
          }
  
          return defaultValue;
      }