Thanks Ivan. 
Actually Iterator that comes via provide() method here will be on particular thread - Every thread has it's own Iterator object. pairSupplier is the object to be shared.