docs: @SuppressWarnings("unchecked")
      @FFDCIgnore(Exception.class)
      public static String[] parseStringArray(Object configAlias, String propertyKey, Object obj, String[] defaultValue) {
          final String[] emptyArray = new String[0];
  
          if (obj != null) {
              try {
                  if (obj instanceof String[]) {
                      return (String[]) obj;
                  } else if (obj instanceof String) {
                      String commaList = (String) obj;
                      // split the string, consuming/removing whitespace
                      return commaList.split("\\s*,\\s*");
                  } else if (obj instanceof Collection) {
                      return ((Collection<String>) obj).toArray(emptyArray);
                  }
              } catch (Exception e) {
                  Tr.warning(tc, "invalidStringArray", configAlias, propertyKey, obj);
                  throw new IllegalArgumentException("String array value could not be parsed: key=" + propertyKey + ", value=" + obj, e);
              }
  
              // unknown type
              Tr.warning(tc, "invalidStringArray", configAlias, propertyKey, obj);
              throw new IllegalArgumentException("String array value could not be parsed: key=" + propertyKey + ", value=" + obj);
          }
  
          return defaultValue;
      }