code: public Event<T> tieTo(Event<T> other) {
          synchronized (this) {
              if (other.results == null) {
                  other.results = new ArrayList<T>();
              }
              results = other.results;
              return this;
          }
      }
docs: Tie the result of this event to the result of the other event.
  Changes of either event's results will subsequently be applied
  to both events.
  <P>
  This is useful when an event is replaced by another event during
  handling like:
  {@code fire((new Event()).tieTo(oldEvent.stop()))}
  
  @param other the event to tie to
  @return the object for easy chaining