1. A computer-implemented method of evaluating nested complex sequence pattern queries comprising: obtaining events from an event stream; evaluating the events within a first window using an outer query to produce outer partial results; determining a more stringent window constraint by applying a number of correlated predicates to the outer partial results to eliminate events that are not to be evaluated, the more stringent window constraint comprising a subset of the window constraint corresponding to events that produce the outer partial results; and passing the more stringent window constraint to an inner child sub-query nested within the outer query; wherein the applying a number of correlated predicates comprises passing a predicate attribute value from the outer query to the inner child sub-query to correlate the outer query with the inner query, the events within the window constraint are generated being evaluated against the predicate attribute value by the inner child sub-query to generate inner child sub-query results that determine which events are relevant to the outer query and which events are not relevant to the outer query; and wherein partial outer results from the outer query are joined with the inner child sub-query results of the inner child sub-query.