@Override public void close() { synchronized (this) { notifyAll(); } super.close(); }
@Override public void clearInput() throws IOException { lockRead.lock(); try { super.clearInput(); } finally { lockRead.unlock(); } }