Lock theLock = lockInfo.isReadLockedMethod() ? readLock : writeLock;
if ( (rwLock.getReadHoldCount() > 0) &&
(!rwLock.isWriteLockedByCurrentThread()) ) {
if( lockInfo.isWriteLockedMethod() ) {
throw new IllegalLoopbackException("Illegal Reentrant Access : Attempt to make " +
"a loopback call on a Write Lock method '" + invInfo.targetMethod1 +
"' while a Read lock is already held");
}
}