An inner function that is closed over external local variables.
But Java doesn't have first class functions or inner functions!
Fake with inner classes?