private void processClassPathNode(Element node) throws DOMException {
      
      serviceRefs = new ArrayList();
      extensionRefs = new ArrayList();
      NodeList nodes = node.getChildNodes();
      for(int i=0;i<nodes.getLength();i++) {
         Node cNode = nodes.item(i);
         
         //Service Reference
         if(cNode.getNodeName().equals("service-ref")) {
            if(cNode.getNodeType() == Node.ELEMENT_NODE) {
               String srvName = ((Element)cNode).getAttribute("name");
               serviceRefs.add(srvName);
            }
         }
         
         //Extension Reference
         if(cNode.getNodeName().equals("extension-ref")) {
            if(cNode.getNodeType() == Node.ELEMENT_NODE) {
               String extRefHREF = ((Element)cNode).getAttribute("href");
               extensionRefs.add(extRefHREF);
            }
         }
         
         //Lib Node
         if(cNode.getNodeName().equals("lib")) {
            if(cNode.getNodeType() == Node.ELEMENT_NODE) {
               String libPath = ((Element)cNode).getAttribute("path");
               try {
                  URL libURL = new URL(new URL(extHREF), libPath);
                  addLibToClassPath(libURL);
               }
               catch(MalformedURLException urlExp) {
                  logger.log(Level.WARNING, "Extension: " + extName + " lib path:"+libPath+" is invalid", urlExp);
               }
            }
         }
      }
   }