docs: @FFDCIgnore(Exception.class)
      public static int[] parseIntegerArray(Object configAlias, String propertyKey, Object obj, int[] defaultValue) {
          if (obj != null) {
              try {
                  if (obj instanceof int[]) {
                      return (int[]) obj;
                  } else if (obj instanceof String) {
                      String commaList = (String) obj;
                      // split the string, consuming/removing whitespace --> push into a list for below.
                      obj = Arrays.asList(commaList.split("\\s*,\\s*"));
                  }
  
                  if (obj instanceof Collection<?>) {
                      Collection<?> c = (Collection<?>) obj;
                      int[] newArray = new int[c.size()];
                      int i = 0;
                      for (Object o2 : c) {
                          if (o2 instanceof String)
                              newArray[i] = Integer.parseInt((String) o2);
                          else if (o2 instanceof Short)
                              newArray[i] = ((Short) o2).intValue();
                          else if (o2 instanceof Integer)
                              newArray[i] = (Integer) o2;
                          else if (o2 instanceof Long)
                              newArray[i] = ((Long) o2).intValue();
  
                          i++;
                      }
                      return newArray;
                  }
              } catch (Exception e) {
                  Tr.warning(tc, "invalidIntegerArray", configAlias, propertyKey, obj);
                  throw new IllegalArgumentException("Integer array value could not be parsed: key=" + propertyKey + ", value=" + obj, e);
              }
  
              // unknown type
              Tr.warning(tc, "invalidIntegerArray", configAlias, propertyKey, obj);
              throw new IllegalArgumentException("Integer array value could not be parsed: key=" + propertyKey + ", value=" + obj);
          }
  
          return defaultValue;
      }