code: @Override
      protected boolean reSubscribe(EventChannelStruct event_channel_struct,
                                    EventCallBackStruct callback_struct) {
          boolean retVal = true;
  
          try {
              DeviceData subscriber_in = new DeviceData();
              String[] subscriber_info = new String[4];
              subscriber_info[0] = callback_struct.device.name();
              subscriber_info[1] = callback_struct.attr_name;
              subscriber_info[2] = "subscribe";
              subscriber_info[3] = callback_struct.event_name;
              subscriber_in.insert(subscriber_info);
              event_channel_struct.adm_device_proxy.command_inout("EventSubscriptionChange", subscriber_in);
              event_channel_struct.heartbeat_skipped = false;
              event_channel_struct.last_subscribed = System.currentTimeMillis();
              callback_struct.last_subscribed = event_channel_struct.last_subscribed;
          } catch (Exception e) {
              retVal = false;
          }
          return retVal;
      }
docs: ===============================================================