code: public TimelineEvent merge(TimelineEvent event, Collection<TimelineEvent> events) {
          return merge(event, events, null);
      }
docs: Merge the given one event with the given collection of events without UI update. Only events within one group can be
  merged. Note: after merging, the merged event will get the same properties as the given one event except start and end
  dates.
  
  @param event  given event to be merged with collection of events
  @param events collection of events
  @return TimelineEvent result event after merging
  @throws IllegalStateException thrown if not all events are within the same group