An EventStreamPlayer2 is used by Event based Patterns for scheduling on an ExternalClock. You do not explictly create an EventStreamPlayer2s, they are created for you when you call Pattern-playExt.
The EventStreamPlayer2 holds a stream which returns a series of Events, and a protoEvent. At each call to next, it copies the protoEvent, passes that to the stream, and stores the Event returned into a scheduling queue driven by the external clock.