class ArrayTypeParser implements Mapper.TypeParser {

    @Override
    public Mapper.Builder parse(String name, Map<String, Object> node, ParserContext parserContext) throws MapperParsingException {<FILL_FUNCTION_BODY>}
}

        Object inner = node.remove(ArrayMapper.INNER_TYPE);
        if (inner == null) {
            throw new MapperParsingException("property [inner] missing");
        }
        if (!(inner instanceof Map)) {
            throw new MapperParsingException("property [inner] must be a map");
        }
        @SuppressWarnings("unchecked")
        Map<String, Object> innerNode = (Map<String, Object>) inner;
        String typeName = (String) innerNode.get("type");
        if (typeName == null && innerNode.containsKey("properties")) {
            typeName = ObjectMapper.CONTENT_TYPE;
        }

        Mapper.TypeParser innerTypeParser = parserContext.typeParser(typeName);
        Mapper.Builder innerBuilder = innerTypeParser.parse(name, innerNode, parserContext);
        if (innerBuilder instanceof ObjectMapper.Builder) {
            return new ObjectArrayMapper.Builder(name, ((ObjectMapper.Builder) innerBuilder));
        }
        return new ArrayMapper.Builder(name, innerBuilder);
    
<no_super_class>