Read/Write locks are almost always a bad idea for performance. Just use synchronized?