public void execute() throws BuildException {
    File xsltMapFile = getXsltMapFile();

    Document document = null;
    if (xsltMapFile != null && xsltMapFile.exists()) {
      document = XmlUtil.getDocument(xsltMapFile);
    }

    if (document != null) {
      NodeList inputNodeList =
          document.getElementsByTagName(TransformationDescType.INPUT.getTagName());
      if (inputNodeList != null && inputNodeList.getLength() > 0) {
        populateProviderServices(xsltMapFile.getParentFile(), inputNodeList);
      }
      NodeList outputNodeList =
          document.getElementsByTagName(TransformationDescType.OUTPUT.getTagName());
      if (outputNodeList != null && outputNodeList.getLength() > 0) {
        populateConsumerServices(xsltMapFile.getParentFile(), outputNodeList);
      }
    }
    try {

      generateTransformMap();
    } catch (IOException ex) {
      throw new BuildException(ex);
    }
  }
  private TMapServiceEntry getInvoke(TMapServiceEntry input) {
    if (mConsumers == null || mConsumers.size() == 0 || input == null || input.getNode() == null) {
      return null;
    }

    TMapServiceEntry invoke = null;

    for (TMapServiceEntry consumer : mConsumers) {
      Node tmpNode = consumer.getNode();
      tmpNode = tmpNode == null ? null : tmpNode.getParentNode();
      if (tmpNode == null
          || !TransformationDescType.INPUT.getTagName().equals(tmpNode.getLocalName())) {
        continue;
      }

      if (tmpNode.equals(input.getNode().getParentNode())) {
        invoke = consumer;
        break;
      }
    }

    return invoke;
  }