@Override
	public void processNode(Node node) {
		String namespace = node.getNamespaceURI();
		Map<String, String> namespaces = new HashMap<String, String>();
		namespaces.put("c", namespace);

		logger.debug("Searching for environments.");
		try {
			NodeList environmentNodes = Utilities.selectNodes(node, "./c:environment", namespaces);
			
			for(int i = 0; i < environmentNodes.getLength(); ++i) {
				Node environmentNode = environmentNodes.item(i);
				Environment env = new Environment(environmentNode);
				this.environments.put(env.getName(), env);
				logger.debug("Found environment '" + env.getName() + "' at: " + env.getRawEndpoint());		
			}
		} catch(Exception e) {
			logger.error("Unable to decode service methods.", e);
		}
		
		logger.info("Found " + this.environments.size() + " environments.");
	}