long expirationTime = System.currentTimeMillis() - timeout;
for (int i = directBufferStacks.length - 1; i >= 0; i--) {
ExpiringStack stack = directBufferStacks[i];
synchronized (stack) {
stack.expireBefore(expirationTime);
}
}
for (int i = heapBufferStacks.length - 1; i >= 0; i--) {
ExpiringStack stack = heapBufferStacks[i];