code: private void cleanup_heartbeat_proxies() {
          // disconnect the pushsupplier to stop receiving events
          Enumeration keys = event_callback_map.keys();
          while (keys.hasMoreElements()) {
              String name = (String) keys.nextElement();
              EventCallBackStruct callback_struct = event_callback_map.get(name);
              try {
                  EventChannelStruct ec_struct = channel_map.get(callback_struct.channel_name);
                  if (ec_struct.structuredProxyPushSupplier != null) {
                      //System.out.println("Disconnect " + callback_struct.channel_name);
                      ec_struct.structuredProxyPushSupplier.disconnect_structured_push_supplier();
                      ec_struct.structuredProxyPushSupplier = null;
                  }
              } catch (Exception e) {
                  System.out.println(e);
              }
              event_callback_map.remove(name);
          }
      }
docs: ===============================================================