code: private void parseNode(Node node) {
  		// CHECKSTYLE:ON
  		final Map<String, String> properties = new HashMap<String, String>();
  		final String nodeName = node.getNodeName();
  		if ("name".equals(nodeName)) {
  			this.name = node.getTextContent();
  		} else if ("description".equals(nodeName) && this.name == null) {
  			this.name = node.getTextContent();
  		} else if ("url".equals(nodeName)) {
  			this.url = node.getTextContent();
  		} else if ("groupId".equals(nodeName) && !node.getTextContent().startsWith("${")) {
  			this.groupId = node.getTextContent();
  		} else if ("artifactId".equals(nodeName)) {
  			this.artifactId = node.getTextContent();
  		} else if ("version".equals(nodeName) && !node.getTextContent().startsWith("${")) {
  			this.version = node.getTextContent();
  		} else if ("parent".equals(nodeName)) {
  			parseParentNode(node);
  		} else if ("properties".equals(nodeName)) {
  			properties.putAll(parsePropertiesNode(node));
  		} else if ("licenses".equals(nodeName)) {
  			parseLicensesNode(node);
  		} else if ("dependencies".equals(nodeName)) {
  			parseDependenciesNode(node);
  			// note: dependencyManagement is currently ignored
  		}
  		properties.put("project.groupId", groupId);
  		properties.put("pom.groupId", groupId);
  		properties.put("groupId", groupId);
  		properties.put("project.version", version);
  		properties.put("pom.version", version);
  		properties.put("version", version);
  		for (final MavenArtifact dependency : dependencies) {
  			dependency.groupId = replaceProperty(dependency.groupId, properties);
  			dependency.version = replaceProperty(dependency.version, properties);
  		}
  	}
docs: CHECKSTYLE:OFF