public synchronized void dispose() { bufferLock.lock(); flushBuffer(); super.dispose(); bufferLock.unlock(); }