code: public static KNXAddress create(final XmlReader r) throws KNXMLException
  	{
  		if (r.getEventType() != XmlReader.START_ELEMENT)
  			r.nextTag();
  		if (r.getEventType() == XmlReader.START_ELEMENT) {
  			final String type = r.getAttributeValue(null, ATTR_TYPE);
  			if (GroupAddress.ATTR_GROUP.equals(type))
  				return new GroupAddress(r);
  			else if (IndividualAddress.ATTR_IND.equals(type))
  				return new IndividualAddress(r);
  		}
  		throw new KNXMLException("not a KNX address", r);
  	}
docs: Creates a KNX address from xml input, the KNX address element is expected to be the current or next element from
  the parser.
  
  @param r a XML reader
  @return the created KNXAddress, either of subtype {@link GroupAddress} or {@link IndividualAddress}
  @throws KNXMLException if the XML element is no KNX address, on unknown address type or wrong address syntax