buildArrayNode(targetName, (Object[]) in);
buildArrayNode(targetName, in);
    void buildNode(String name, Object in) throws Exception {        int systemId = System.identityHashCode(in);        String targetName = "_sj_" + systemId;        if (this.visitedIdentities.contains(systemId)) {            this.assignments.put(name, targetName);        }        else if ( isExcludedType(in.getClass()) ) {            // Do nothing, it's being excluded!!        }        else {            this.visitedIdentities.add(systemId);            if (Collection.class.isAssignableFrom(in.getClass())) {                buildCollectionNode(targetName, (Collection) in);            }            else if (in.getClass().isArray()) {                buildArrayNode(targetName, (Object[]) in);            }            else if (Map.class.isAssignableFrom(in.getClass())) {                buildMapNode(targetName, (Map) in);            }            else {                buildObjectNode(targetName, in);            }            this.assignments.put(name, targetName);        }    }