code: static CRBase create(final boolean request, final byte[] data, final int offset)
  		throws KNXFormatException
  	{
  		if (data.length - offset < 2)
  			throw new KNXFormatException("buffer too short for " + (request ? "CRI" : "CRD"));
  		final int type = data[offset + 1] & 0xff;
  		if (type == KNXnetIPTunnel.TUNNEL_CONNECTION)
  			return request ? (CRBase) new TunnelCRI(data, offset) : new TunnelCRD(data, offset);
  		if (type != KNXnetIPDevMgmt.DEVICE_MGMT_CONNECTION)
  			logger.warn("unknown connection type 0x" + Integer.toHexString(type)
  					+ ", create default CRI/CRD");
  		return request ? (CRBase) new CRI(data, offset) : new CRD(data, offset);
  	}
docs: returns a CRI or CRD depending on request