code: public void push_structured_event(org.omg.CosNotification.StructuredEvent notification) {
  
          String domainName = notification.header.fixed_header.event_type.domain_name;
          String eventType = notification.header.fixed_header.event_name;
          try {
              //	Check if Heartbeat event
              if (eventType.equals("heartbeat")) {
                  push_structured_event_heartbeat(domainName);
                  return;
              }
              //	Else check if event is registered and get its CB struct
              String eventName = domainName + "." + eventType;
              EventCallBackStruct callBackStruct = getEventCallBackStruct(eventName);
              if (callBackStruct!=null) {
                  CallBack callback = callBackStruct.callback;
                  DeviceAttribute attr_value = null;
                  AttributeInfoEx attr_config = null;
                  AttDataReady data_ready = null;
                  DevError[] dev_err_list = null;
  
                  //	Extract CORBA object to check What kind (Value or config)
                  java.lang.Object obj = extractAttributeObject(notification);
                  if (obj instanceof AttributeInfoEx)
                      attr_config = (AttributeInfoEx) obj;
                  else if (obj instanceof AttDataReady)
                      data_ready = (AttDataReady) obj;
                  else if (obj instanceof DeviceAttribute)
                      attr_value = (DeviceAttribute) obj;
                  else if (obj instanceof DevError[])
                      dev_err_list = (DevError[]) obj;
  
                  //	And build event data
                  EventData event_data =
                          new EventData(callBackStruct.device,
                                  domainName, eventType,
                                  callBackStruct.event_type, EventData.NOTIFD_EVENT,
                                  attr_value, null, attr_config, data_ready, null, dev_err_list);
  
  
                  if (callBackStruct.use_ev_queue) {
                      EventQueue ev_queue = callBackStruct.device.getEventQueue();
                      ev_queue.insert_event(event_data);
                  } else if (callback != null)
                      callback.push_event(event_data);
              }
              else
                  System.err.println(eventName + " event not found");
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
docs: ===============================================================