private static void objectArrayAppend(StringBuffer sbuf, Object[] a,
                                          Map seenMap) {
        sbuf.append('[');
        if (!seenMap.containsKey(a)) {
            seenMap.put(a, null);
            final int len = a.length;
            for (int i = 0; i < len; i++) {
                deeplyAppendParameter(sbuf, a[i], seenMap);
                if (i != len - 1)
                    sbuf.append(", ");
            }
            // allow repeats in siblings
            seenMap.remove(a);
        } else {
            sbuf.append("...");
        }
        sbuf.append(']');
    }
Same principle as the {@link #format(String, Object)} and
{@link #format(String, Object, Object)} methods except that any number of
arguments can be passed in an array.

@param messagePattern
         The message pattern which will be parsed and formatted
@param argArray
         An array of arguments to be substituted in place of formatting
         anchors
@return The formatted message
lts-core/src/main/java/com/github/ltsopensource/core/logger/support/MessageFormatter.java