code: @Override
      protected String evalProgramName()
          throws InstallationException
      {
          String ret = "";
          try {
              final DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
              final DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
              final Document doc = dBuilder.parse(getUrl().openStream(), AbstractSourceImporter.ENCODING);
              doc.getDocumentElement().normalize();
  
              for (final String tagName  : BPMImporter.PROCESSTAGNAMES) {
                  final NodeList processNodeList = doc.getElementsByTagName(tagName);
                  if (processNodeList != null && processNodeList.getLength() > 0) {
                      final Node processNode = processNodeList.item(0);
                      if (processNode.getNodeType() == Node.ELEMENT_NODE) {
                          final Element eElement = (Element) processNode;
                          ret = eElement.getAttribute("id");
                      }
                      break;
                  }
              }
          } catch (final ParserConfigurationException e) {
              throw new InstallationException("could not Parse the given URL", e);
          } catch (final SAXException e) {
              throw new InstallationException("could not Parse the given URL", e);
          } catch (final IOException e) {
              throw new InstallationException("could not Read the given URL", e);
          }
          return ret;
      }
docs: {@inheritDoc}