public Listener<T> add(Consumer<T> listener){
  Assert.notNull(listener,"listener");
  ListenerHolder holder=new ListenerHolder(listener,ThreadContext.currentContext());
  listeners.add(holder);
  return holder;
}

public Listener < T > add ( Consumer < T > listener ) { Assert . notNull ( listener , "listener" ) ; ListenerHolder holder = new ListenerHolder ( listener , ThreadContext . currentContext ( ) ) ; listeners . add ( holder ) ; return holder ; }
adds a listener to the set of listeners .
