docs: protected Node inlineExternal(Document doc, ParsedURL urldata, Node eold) {
      File in = new File(urldata.getPath());
      if(!in.exists()) {
        LoggingUtil.warning("Referencing non-existant file: " + urldata.toString());
        return null;
      }
      ByteArrayOutputStream os = new ByteArrayOutputStream();
      try {
        os.write(SVGSyntax.DATA_PROTOCOL_PNG_PREFIX.getBytes());
        Base64EncoderStream encoder = new Base64EncoderStream(os);
        FileInputStream instream = new FileInputStream(in);
        byte[] buf = new byte[4096];
        while(true) {
          int read = instream.read(buf, 0, buf.length);
          if(read <= 0) {
            break;
          }
          encoder.write(buf, 0, read);
        }
        instream.close();
        encoder.close();
      }
      catch(IOException e) {
        LoggingUtil.exception("Exception serializing image to png", e);
        return null;
      }
  
      Element i = (Element) super.cloneNode(doc, eold);
      i.setAttributeNS(SVGConstants.XLINK_NAMESPACE_URI, SVGConstants.XLINK_HREF_ATTRIBUTE, os.toString().replaceAll("\\s*[\\r\\n]+\\s*", ""));
      return i;
    }