@Override public void removeExecutionListener( GraphProcess process, ExecutionListener listener, ExecutionEventType... eventTypes) { process.getEventQueue().removeListener(this, listener, eventTypes); List<ExecutionEventType> types = eventTypes == null ? null : Arrays.asList(eventTypes); for (HibProcessListener hibListener : ((HibGraphProcess) process).getListeners()) { if (process.equals(hibListener.getProcess()) && (eventTypes == null || eventTypes.length == 0 || types.contains(hibListener.getEventType()))) { session.delete(hibListener); } } }