code: public static DPTXlator createTranslator(DPT dpt) throws KNXException
  	{
  		try {
  			return createTranslator(0, dpt.getID());
  		}
  		catch (final KNXException e) {
  			for (final Iterator i = map.values().iterator(); i.hasNext(); )
  				try {
  					return ((MainType) i.next()).createTranslator(dpt);
  				}
  				catch (final KNXException ignore) {}
  		}
  		throw new KNXException("failed to create translator for DPT " + dpt.getID());
  	}
docs: Creates a DPT translator for the given datapoint type.
  <p>
  The translation behavior of a DPT translator instance is uniquely defined by the
  supplied datapoint type.
  <p>
  If translator creation according {@link #createTranslator(int, String)} fails, all
  available main types are enumerated to find an appropriate translator.
  
  @param dpt datapoint type selecting a particular kind of value translation
  @return the new {@link DPTXlator} object
  @throws KNXException if no translator could be found or creation failed