A query like 

```
sequence by user.name with maxspan=90m
![ authentication where ... ]
[ authentication where ...]
![ authentication where ... ]
[ authentication where ... ]
![ authentication where ... ]
```

can result in a NullPointerException

```
java.lang.NullPointerException: Cannot invoke "org.elasticsearch.xpack.eql.execution.sequence.Match.ordinal()" because the return value of "org.elasticsearch.xpack.eql.execution.sequence.Sequence.matchAt(int)" is null
        at org.elasticsearch.xpack.eql.execution.sequence.TumblingWindow.prepareQueryForMissingEvents(TumblingWindow.java:313)
        at org.elasticsearch.xpack.eql.execution.sequence.TumblingWindow.checkMissingEvents(TumblingWindow.java:219)
        at org.elasticsearch.xpack.eql.execution.sequence.TumblingWindow.payload(TumblingWindow.java:717)
        at org.elasticsearch.xpack.eql.execution.sequence.TumblingWindow.completeBaseCriterion(TumblingWindow.java:499)
        at org.elasticsearch.xpack.eql.execution.sequence.TumblingWindow.baseCriterion(TumblingWindow.java:405)
        at org.elasticsearch.xpack.eql.execution.sequence.TumblingWindow.lambda$advance$6(TumblingWindow.java:356)
```
x-pack/plugin/eql/src/main/java/org/elasticsearch/xpack/eql/execution/sequence/SequenceMatcher.java
private final int completionStage;
    
    
    private final Set<Sequence> completed;
    private final Set<Sequence> toCheckForMissing;
    private final long maxSpanInNanos;
    private final boolean descending;
    private final Limit limit;
    private final boolean[] missingEventStages;
    protected final int firstPositiveStage;
    protected final int lastPositiveStage;
    private final boolean missingEventStagesExist;
    private final CircuitBreaker circuitBreaker;
    private final Stats stats = new Stats();
    private boolean headLimit = false;
    
    private long prevRamBytesUsedInFlight = 0;
    private long prevRamBytesUsedCompleted = 0;
    @SuppressWarnings("rawtypes")
    public SequenceMatcher(
        int stages,
        boolean descending,
        TimeValue maxSpan,
        Limit limit,
        boolean[] missingEventStages,
        CircuitBreaker circuitBreaker
    ) {
        this.numberOfStages = stages;
        this.completionStage = stages - 1;
        this.descending = descending;