// make sure we release locks in *reverse* order!
for (int i = locks.size() - 1; i > -1; i--)
{
NodeLock nl = locks.get(i);
if (trace) log.trace("releasing lock for " + nl.getFqn() + ": " + nl);
nl.release(currentThread);
}
}
finally
{
ctx.clearInvocationLocksAcquired();