private void readUnlockedThread(){
  final long thisThreadId=Thread.currentThread().getId();
  final Integer entry=threadLockMap.get(thisThreadId);
  assert entry != null;
  if (entry.intValue() == 1) {
    threadLockMap.remove(thisThreadId);
  }
 else {
    threadLockMap.put(thisThreadId,entry.intValue() - 1);
  }
}

private void readUnlockedThread ( ) { final long thisThreadId = Thread . currentThread ( ) . getId ( ) ; final Integer entry = threadLockMap . get ( thisThreadId ) ; assert entry != null ; if ( entry . intValue ( ) == 1 ) { threadLockMap . remove ( thisThreadId ) ; } else { threadLockMap . put ( thisThreadId , entry . intValue ( ) - 1 ) ; } }
track the # of read locks by thread iff this is a read / write index view .
