code: @Override
      protected  void checkDeviceConnection(DeviceProxy deviceProxy,
                          String attribute, DeviceData deviceData, String event_name) throws DevFailed {
  
          //  Check if address is coherent (??)
          deviceData = checkZmqAddress(deviceData, deviceProxy);
  
          String deviceName = deviceProxy.fullName();
          ApiUtil.printTrace("checkDeviceConnection for " + deviceName);
          if (!device_channel_map.containsKey(deviceName)) {
              ApiUtil.printTrace("    Does NOT Exist");
              connect(deviceProxy, attribute, event_name, deviceData);
              if (!device_channel_map.containsKey(deviceName)) {
                  Except.throw_event_system_failed("API_NotificationServiceFailed",
                          "Failed to connect to event channel for device",
                          "EventConsumer.subscribe_event()");
              }
          }
          else {
              ApiUtil.printTrace(deviceName + " already connected.");
              ZMQutils.connectEvent(deviceProxy.get_tango_host(), deviceName,
                          attribute, deviceData.extractLongStringArray(), event_name,false);
          }
      }
docs: ===============================================================