modules/jooby-assets-svg-symbol/src/main/java/org/jooby/assets/SvgSymbol.java
private Tuple<Element, Element> symbol(final Path file, final String id) throws IOException {
    Element svg = Jsoup.parse(file.toFile(), "UTF-8").select("svg").first();
    Element symbol = new Element(Tag.valueOf("symbol"), "")
        .attr("id", id)
        .attr("viewBox", svg.attr("viewBox"));
    new ArrayList<>(svg.childNodes()).forEach(symbol::appendChild);
    return new Tuple(svg, symbol);
  }
private Tuple<Element, Element> symbol(final Path file, final String id) throws IOException {
    Element svg = Jsoup.parse(file.toFile(), "UTF-8").select("svg").first();
    Element symbol = new Element(Tag.valueOf("symbol"), "")
        .attr("id", id)
        .attr("viewBox", svg.attr("viewBox"));
    new ArrayList<>(svg.childNodes()).forEach(symbol::appendChild);
    return new Tuple(svg, symbol);
  }
Read a svg file and return the svg element (original) and a new symbol element (created from
original).

@param file Svg file.
@param id   ID to use.
@return Svg element (original) and a symbol element (converted).
@throws IOException If something goes wrong.