public static Optional<KNXComObject> retrieveComObjectByDatapointId(final KNXProject knxProject,
			final int deviceIndex, final int dataPointId) {
		// TODO: how to identify the correct device if there are several devices in the
		// list?
		final KNXDeviceInstance knxDeviceInstance = knxProject.getDeviceInstances().get(deviceIndex);
		// TODO: maybe create a map from datapoint id to ComObject????
		// @formatter:off
		return knxDeviceInstance
				.getComObjects()
				.values()
				.stream()
				.filter(c -> c.getNumber() == dataPointId)
				.filter(c -> c.isGroupObject())
				.findFirst();
		// @formatter:on
	}
public static Optional<KNXComObject> retrieveComObjectByDatapointId(final KNXProject knxProject,
			final int deviceIndex, final int dataPointId) {
	
	
		final KNXDeviceInstance knxDeviceInstance = knxProject.getDeviceInstances().get(deviceIndex);
	
	
		return knxDeviceInstance
				.getComObjects()
				.values()
				.stream()
				.filter(c -> c.getNumber() == dataPointId)
				.filter(c -> c.isGroupObject())
				.findFirst();
	
	}
public static optional<knxcomobject> retrievecomobjectbydatapointid(final knxproject knxproject, final int deviceindex, final int datapointid) { final knxdeviceinstance knxdeviceinstance = knxproject.getdeviceinstances().get(deviceindex); return knxdeviceinstance .getcomobjects() .values() .stream() .filter(c -> c.getnumber() == datapointid) .filter(c -> c.isgroupobject()) .findfirst(); }