private ScreenOverlayType createScreenOverlayImage(
      String name, String url, Vec2Type overlayXY, Vec2Type screenXY, Vec2Type size) {
    ObjectFactory objectFactory = new ObjectFactory();
    ScreenOverlayType screenOverlayType = objectFactory.createScreenOverlayType();
    screenOverlayType.setName(name);
    screenOverlayType.setOverlayXY(overlayXY);
    screenOverlayType.setScreenXY(screenXY);
    screenOverlayType.setSize(size);

    LinkType icon = objectFactory.createLinkType();
    icon.setHref(url);
    screenOverlayType.setIcon(icon);
    return screenOverlayType;
  }
  private void extractWayPointsAndTracksFromNetworkLinks(
      List<JAXBElement<NetworkLinkType>> networkLinkTypes, ParserContext<KmlRoute> context)
      throws IOException {
    for (JAXBElement<NetworkLinkType> networkLinkType : networkLinkTypes) {
      Link link = networkLinkType.getValue().getLink();
      if (link != null) {
        String url = link.getHref();
        context.parse(url);
      }

      List<JAXBElement<?>> rest = networkLinkType.getValue().getRest();
      for (JAXBElement<?> r : rest) {
        Object rValue = r.getValue();
        if (rValue instanceof LinkType) {
          LinkType linkType = (LinkType) rValue;
          String url = linkType.getHref();
          context.parse(url);
        }
      }
    }
  }