code: @SuppressWarnings("unlikely-arg-type")
      public boolean unsubscribe(IConsumer consumer) {
          if (consumers.remove(consumer)) {
              fireConsumerConnectionEvent(consumer, PipeConnectionEvent.EventType.CONSUMER_DISCONNECT, null);
              listeners.remove(consumer);
              return true;
          }
          return false;
      }
docs: Disconnects consumer from this pipe. Fires pipe connection event.
  
  @param consumer
  Consumer that should be removed
  @return true on success, false otherwise