How is this `synchronized` doing what it's supposed to be doing? Who else synchronizes on it? Two concurrent `close()` calls? If so, shouldn't there be a test `if (closed.get())` or something similar?