question: public synchronized void readRequest ( ) { if ( currentWriters == 0 && writerLocks . size ( ) == 0 ) { ++ currentReaders ; } else { ++ queuedReaders ; try { wait ( ) ; } catch ( InterruptedException e ) { } } }
target:  Request the read lock. Block until a read operation can be performed safely. This call must be followed by a call to readDone() when the read operation completes.