/** * Check if the given element is an array. * * <p>Multidimensional arrays are not supported. * * <p>Non-empty 1-dimensional arrays of CompositeData and TabularData are not handled as arrays * but as tabular data. */ public static boolean isSupportedArray(Object elem) { if (elem == null || !elem.getClass().isArray()) { return false; } Class<?> ct = elem.getClass().getComponentType(); if (ct.isArray()) { return false; } if (Array.getLength(elem) > 0 && (CompositeData.class.isAssignableFrom(ct) || TabularData.class.isAssignableFrom(ct))) { return false; } return true; }