code: <T extends TemporalProposition> boolean execute(
              PropositionDefinition propDef, Segment<T> tp1, Segment<T> tp2) {
          if (tp1 == null || tp2 == null) {
              return false;
          }
  
          return executeInternal(propDef, tp1.getInterval(), tp2.getInterval());
      }
docs: Computes whether the union of two segments of temporal propositions
  should be taken.
  
  We assume that
  <code>tp1</code> is before or at the same time as
  <code>tp2</code>, and that
  <code>tp1</code> and
  <code>tp2</code> are instances of
  <code>propDef</code>.
  
  @param propDef a {@link PropositionDefinition}.
  @param tp1 a {@link Segment<? extends TemporalProposition>}.
  @param tp2 a {@link Segment<? extends TemporalProposition>}.
  @return <code>true</code> if they should be combined, <code>false</code>
  otherwise.