code: @SuppressWarnings("all")
      protected static boolean writeArrayType(Output out, Object arrType) {
          log.trace("writeArrayType");
          if (arrType instanceof Collection) {
              out.writeArray((Collection<Object>) arrType);
          } else if (arrType instanceof Iterator) {
              writeIterator(out, (Iterator<Object>) arrType);
          } else if (arrType.getClass().isArray() && arrType.getClass().getComponentType().isPrimitive()) {
              out.writeArray(arrType);
          } else if (arrType instanceof Object[]) {
              out.writeArray((Object[]) arrType);
          } else {
              return false;
          }
          return true;
      }
docs: Writes array (or collection) out as output Arrays, Collections, etc
  
  @param out
  Output object
  @param arrType
  Array or collection type
  @return <tt>true</tt> if the object has been written, otherwise <tt>false</tt>