private ViewArray processArrayNode(ArrayNode arrayNode) { ViewArray node = new ViewArray(); if (arrayNode.size() != 1) { throw new IllegalArgumentException( "Arrays in example view data need to contain one and only one element"); } JsonNode element = arrayNode.get(0); if (element == null || element.isNull()) { throw new IllegalArgumentException( "Arrays in example view data cannot contain null elements"); } if (element.isArray()) { throw new IllegalArgumentException( "Arrays in example view data cannot be directly nested within other arrays."); } else if (element.isObject()) { node.element = processObjectNode((ObjectNode) element); } return node; }