Program: 134765
Project: 134765
Buggy source:
/** 
 * This method is called by the notification channel (supplier proxy) each time an event is received. <p> It is declared <code>final</code> because it is crucial for the functioning of the NC library and thus cannot be overwritten by a subclass.  If for special purposes a notification of raw event reception is needed,  a subclass can implement   {@link #push_structured_event_called(StructuredEvent)}, which gets called from this method as the first thing it does. 
 * @param structuredEvent The structured event sent by a supplier.
 * @throws Disconnected If this subscriber is disconnected from the NC. See NC spec 3.3.7.1: "if the invocation of push_structured_event upon a StructuredPushConsumer instance  by a StructuredProxyPushSupplier instance results in the Disconnected exception being raised,  the StructuredProxyPushSupplier will invoke its own disconnect_structured_push_supplier operation,  resulting in the destruction of that StructuredProxyPushSupplier instance." This serves only as a backup mechanism, since normally we explicitly disconnect the subscriber.
 * @see org.omg.CosNotifyComm.StructuredPushConsumerOperations#push_structured_event(org.omg.CosNotification.StructuredEvent)
 */
@Override public final void push_structured_event(StructuredEvent structuredEvent) throws Disconnected {
  try {
    push_structured_event_called(structuredEvent);
  }
 catch (  Throwable thr) {
  }
  if (isDisconnected()) {
    throw new Disconnected();
  }
  final EventDescription eDescrip=EventDescriptionHelper.extract(structuredEvent.remainder_of_body);
  Object convertedAny=anyAide.complexAnyToObject(structuredEvent.filterable_data[0].value);
  if (convertedAny == null) {
    LOG_NC_EventReceive_FAIL.log(logger,channelName,getNotificationFactoryName(),structuredEvent.header.fixed_header.event_type.type_name,"String_Node_Str");
  }
 else   if (!eventType.isInstance(convertedAny)) {
    if (genericReceiver == null) {
      logNoEventReceiver(convertedAny.getClass().getName());
    }
  }
 else {
    @SuppressWarnings("String_Node_Str") T struct=(T)convertedAny;
    if (isTraceEventsEnabled()) {
      LOG_NC_EventReceive_OK.log(logger,channelName,getNotificationFactoryName(),structuredEvent.header.fixed_header.event_type.type_name);
    }
    processEventAsync(struct,eDescrip);
  }
}

Fixed version (ground truth):
/** 
 * This method is called by the notification channel (supplier proxy) each time an event is received. <p> It is declared <code>final</code> because it is crucial for the functioning of the NC library and thus cannot be overwritten by a subclass.  If for special purposes a notification of raw event reception is needed,  a subclass can implement   {@link #push_structured_event_called(StructuredEvent)}, which gets called from this method as the first thing it does. 
 * @param structuredEvent The structured event sent by a supplier.
 * @throws Disconnected If this subscriber is disconnected from the NC. See NC spec 3.3.7.1: "if the invocation of push_structured_event upon a StructuredPushConsumer instance  by a StructuredProxyPushSupplier instance results in the Disconnected exception being raised,  the StructuredProxyPushSupplier will invoke its own disconnect_structured_push_supplier operation,  resulting in the destruction of that StructuredProxyPushSupplier instance." This serves only as a backup mechanism, since normally we explicitly disconnect the subscriber.
 * @see org.omg.CosNotifyComm.StructuredPushConsumerOperations#push_structured_event(org.omg.CosNotification.StructuredEvent)
 */
@Override public final void push_structured_event(StructuredEvent structuredEvent) throws Disconnected {
  try {
    push_structured_event_called(structuredEvent);
  }
 catch (  Throwable thr) {
  }
  if (isDisconnected()) {
    throw new Disconnected();
  }
  Object convertedAny=anyAide.complexAnyToObject(structuredEvent.filterable_data[0].value);
  if (convertedAny == null) {
    LOG_NC_EventReceive_FAIL.log(logger,channelName,getNotificationFactoryName(),structuredEvent.header.fixed_header.event_type.type_name,"String_Node_Str");
  }
 else {
    if (!eventType.isInstance(convertedAny) && !hasGenericReceiver()) {
      logNoEventReceiver(convertedAny.getClass().getName());
    }
    EventDescription eventDesc=EventDescriptionHelper.extract(structuredEvent.remainder_of_body);
    if (isTraceEventsEnabled()) {
      LOG_NC_EventReceive_OK.log(logger,channelName,getNotificationFactoryName(),structuredEvent.header.fixed_header.event_type.type_name);
    }
    processEventAsync(convertedAny,eventDesc);
  }
}