@Nonnull
    @Override
    default MergedSubscriptionBuilder<T> expireAfter(long duration, @Nonnull TimeUnit unit) {
        Objects.requireNonNull(unit, "unit");
        Preconditions.checkArgument(duration >= 1, "duration < 1");
        long expiry = Math.addExact(System.currentTimeMillis(), unit.toMillis(duration));
        return expireIf((handler, event) -> System.currentTimeMillis() > expiry, ExpiryTestStage.PRE);
    }
Makes a MergedHandlerBuilder for a super event class

@param superClass   the abstract super event class
@param priority     the priority to listen at
@param eventClasses the event classes to be bound to
@param <S>          the super class type
@return a {@link MergedSubscriptionBuilder} to construct the event handler
helper/src/main/java/me/lucko/helper/event/functional/merged/MergedSubscriptionBuilder.java