core/src/main/java/com/orientechnologies/common/concur/lock/ScalableRWLock.java
protected void removeState(AtomicInteger state) {
    readersStateList.remove(state);
    readersStateArrayRef.set(null);
    // Paranoia: just in case someone forgot to call sharedUnlock()
    // and there is a Writer waiting on that state
    state.set(SRWL_STATE_NOT_READING);
  }
protected void removeState(AtomicInteger state) {
    readersStateList.remove(state);
    readersStateArrayRef.set(null);
    // Paranoia: just in case someone forgot to call sharedUnlock()
    // and there is a Writer waiting on that state
    state.set(SRWL_STATE_NOT_READING);
  }
This function should be called only from ReadersEntry.finalize()

@param state The reader's state that we wish to remove from the ConcurrentLinkedQueue