If for some reason, this will be exposed as a standalone enumerator , vs. private (which I think this should probably be private and encapsulated as you have it, then this should return an enumerator if no block is given. Given I think this should remain an encapsulation detail, then you could make this private and leave as is.