private RootElementInfo createRootElementInfo(org.jsoup.nodes.Element root, String subclass) {
        List<Attribute> attributes = root.attributes().asList().stream()
                .filter(attribute -> !attribute.getKey().equals("data-element"))
                .collect(Collectors.toList());

        ExpressionParser expressionParser = new ExpressionParser();
        String html = root.children().isEmpty() ? null : JAVA_STRING_ESCAPER.escape(root.html());
        Map<String, String> expressions = expressionParser.parse(html);
        expressions.putAll(expressionParser.parse(root.outerHtml()));

        return new RootElementInfo(root.tagName(), subclass.toLowerCase() + "_root_element",
                attributes, html, expressions);
    }
private RootElementInfo createRootElementInfo ( org . jsoup . nodes . Element root , String subclass ) { List < Attribute > attributes = root . attributes ( ) . asList ( ) . stream ( ) . filter ( attribute -> ! attribute . getKey ( ) . equals ( "data-element" ) ) . collect ( Collectors . toList ( ) ) ; ExpressionParser expressionParser = new ExpressionParser ( ) ; String html = root . children ( ) . isEmpty ( ) ? null : JAVA_STRING_ESCAPER . escape ( root . html ( ) ) ; Map < String , String > expressions = expressionParser . parse ( html ) ; expressions . putAll ( expressionParser . parse ( root . outerHtml ( ) ) ) ; return new RootElementInfo ( root . tagName ( ) , subclass . toLowerCase ( ) + "_root_element" , attributes , html , expressions ) ; }
------------------------------------------------------ root element / template