@Override
	public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
		if ("relation".equals(qName)) {
			cr.setRelationId(Integer.parseInt(attrs.getValue("id")));

		}
		if ("member".equals(qName) && "relation".equals(eleStack.peek())) {
			if (clcMainWays.containsKey(Integer.parseInt(attrs.getValue("ref")))) {
				cr.addMember(new CustomRelationMember(attrs.getValue("type"), Integer.parseInt(attrs.getValue("ref")), attrs
						.getValue("role")));
				if (attrs.getValue("role").equals("outer")) {
					CustomWay cw = clcMainWays.get(Integer.parseInt(attrs.getValue("ref")));
					Iterator<Map.Entry<String, String>> it = cw.getTags().entrySet().iterator();
					while (it.hasNext()) {
						Map.Entry<String, String> pairs = (Map.Entry<String, String>) it.next();
						cr.addTag(pairs.getKey(), pairs.getValue());
					}
					cr.addTag("type", "multipolygon");
				}
				isRelationMember = true;
			}

		} else if ("tag".equals(qName) && "relation".equals(eleStack.peek())) {
			if (!"fixme".equals(attrs.getValue("k"))) {
				cr.addTag(attrs.getValue("k"), attrs.getValue("v"));
			}
		}
		eleStack.push(qName);

	}