File: ReentrantWriterPreferenceReadWriteLock.java

Originally written by Doug Lea and released into the public domain.
This may be used for any purposes whatsoever without acknowledgment.
Thanks for the assistance and support of Sun Microsystems Labs,
and everyone contributing, testing, and using this code.

History:
Date       Who                What
26aug1998  dl                 Create public version
7sep2000  dl                 Readers are now also reentrant
19jan2001  dl                 Allow read->write upgrades if the only reader
10dec2002  dl                 Throw IllegalStateException on extra release