Program: 28112
Project: 28112
Buggy source:
@Override public void eventReceived(final PayaraClusteredCDIEvent event){
  String instanceName=event.getProperty(INSTANCE_PROPERTY);
  if (!(instanceName == null) && !(instanceName.length() == 0)) {
    String names[]=deserializeToArray(instanceName);
    boolean forUs=false;
    String thisInstance=runtime.getInstanceName();
    for (    String name : names) {
      if (name.equals(thisInstance)) {
        forUs=true;
        break;
      }
    }
    if (!forUs)     return;
  }
  Context ctx=ctxUtil.pushContext();
  try {
    managedExecutorService.submit(new Runnable(){
      @Override public void run(){
        ClassLoader oldCL=Utility.getClassLoader();
        try {
          Utility.setContextClassLoader(ctxUtil.getInvocationClassLoader());
          Set<Annotation> qualifiers=new HashSet<>();
          Serializable eventPayload=event.getPayload();
          Inbound inbound=new Inbound(){
            @Override public String eventName(){
              return event.getProperty(EVENT_PROPERTY);
            }
            @Override public Class<? extends Annotation> annotationType(){
              return Inbound.class;
            }
          }
;
          qualifiers.add(inbound);
          Set<Annotation> receivedQualifiers=event.getQualifiers();
          for (          Annotation receivedQualifier : receivedQualifiers) {
            if (!(receivedQualifier instanceof Outbound)) {
              qualifiers.add(receivedQualifier);
            }
          }
          Annotation annotations[]=qualifiers.toArray(new Annotation[0]);
          bm.fireEvent(eventPayload,annotations);
        }
 catch (        IOException|ClassNotFoundException ex) {
          Logger.getLogger(ClusteredCDIEventBusImpl.class.getName()).log(Level.INFO,"String_Node_Str",ex);
        }
 finally {
          Utility.setContextClassLoader(oldCL);
        }
      }
    }
);
  }
  finally {
    ctxUtil.popContext(ctx);
  }
}

Fixed version (ground truth):
@Override public void eventReceived(final PayaraClusteredCDIEvent event){
  String instanceName=event.getProperty(INSTANCE_PROPERTY);
  if (!(instanceName == null) && !(instanceName.length() == 0)) {
    String names[]=deserializeToArray(instanceName);
    boolean forUs=false;
    String thisInstance=runtime.getInstanceName();
    for (    String name : names) {
      if (name.equals(thisInstance)) {
        forUs=true;
        break;
      }
    }
    if (!forUs)     return;
  }
  try (Context ctx=ctxUtil.pushContext()){
    managedExecutorService.submit(new Runnable(){
      @Override public void run(){
        ClassLoader oldCL=Utility.getClassLoader();
        try {
          Utility.setContextClassLoader(ctxUtil.getInvocationClassLoader());
          Set<Annotation> qualifiers=new HashSet<>();
          Serializable eventPayload=event.getPayload();
          Inbound inbound=new Inbound(){
            @Override public String eventName(){
              return event.getProperty(EVENT_PROPERTY);
            }
            @Override public Class<? extends Annotation> annotationType(){
              return Inbound.class;
            }
          }
;
          qualifiers.add(inbound);
          Set<Annotation> receivedQualifiers=event.getQualifiers();
          for (          Annotation receivedQualifier : receivedQualifiers) {
            if (!(receivedQualifier instanceof Outbound)) {
              qualifiers.add(receivedQualifier);
            }
          }
          Annotation annotations[]=qualifiers.toArray(new Annotation[0]);
          bm.fireEvent(eventPayload,annotations);
        }
 catch (        IOException|ClassNotFoundException ex) {
          Logger.getLogger(ClusteredCDIEventBusImpl.class.getName()).log(Level.INFO,"String_Node_Str",ex);
        }
 finally {
          Utility.setContextClassLoader(oldCL);
        }
      }
    }
);
  }
 }