code: public Event<T> setChannels(Channel... channels) {
          if (enqueued()) {
              throw new IllegalStateException(
                  "Channels cannot be changed after fire");
          }
          this.channels = Arrays.copyOf(channels, channels.length);
          return this;
      }
docs: Sets the channels that the event is fired on if no channels
  are specified explicitly when firing the event
  (see {@link org.jgrapes.core.Manager#fire(Event, Channel...)}).
  
  @param channels the channels to set
  @return the object for easy chaining
  
  @throws IllegalStateException if the method is called after
  this event has been fired