`open` rather than `isOpen`? Matches bean naming conventions. And how about an AtomicBoolean rather than `volatile`? Then we don't need to synchronize the `close` method...