private List<WidgetInstance> parseWidgets(JsonParser parser, RegionEnum region) throws JsonParseException, IOException {

        JsonToken current = parser.nextToken();

        assertExpectedJsonToken(current, JsonToken.START_ARRAY, parser.getCurrentLocation());

        List<WidgetInstance> widgetInThisRegion = new ArrayList<WidgetInstance>();

        while ((current = parser.nextToken()) != JsonToken.END_ARRAY) {

            assertExpectedJsonToken(current, JsonToken.START_OBJECT, parser.getCurrentLocation());

            String instanceId = getNextTextValue("sid", parser); // get
                                                                 // instanceId
            String widgetId = getNextTextValue("cid", parser); // get
                                                               // widgetId

            WidgetInstance widgetInstance = new WidgetInstance();
            widgetInstance.setCid(widgetId);
            widgetInstance.setSid(Long.valueOf(instanceId));

            widgetInThisRegion.add(widgetInstance);

            assertExpectedJsonToken((current = parser.nextToken()), JsonToken.END_OBJECT, parser.getCurrentLocation());
        }
        return widgetInThisRegion;

    }
@param parser
@param layoutId
@param regionId
@throws JsonParseException
@throws IOException
src/test/java/com/alibaba/json/test/performance/JacksonPageModelParser.java