code: protected void firePipeConnectionEvent(PipeConnectionEvent event) {
          for (IPipeConnectionListener element : listeners) {
              try {
                  element.onPipeConnectionEvent(event);
              } catch (Throwable t) {
                  log.error("Exception when handling pipe connection event", t);
              }
          }
          if (taskExecutor == null) {
              taskExecutor = Executors.newCachedThreadPool(new CustomizableThreadFactory("Pipe-"));
          }
          // Run all of event's tasks
          for (Runnable task : event.getTaskList()) {
              try {
                  taskExecutor.execute(task);
              } catch (Throwable t) {
                  log.warn("Exception executing pipe task {}", t);
              }
          }
          // Clear event's tasks list
          event.getTaskList().clear();
      }
docs: Fire any pipe connection event and run all it's tasks
  
  @param event
  Pipe connection event