}
public synchronized void markNotInUse(long userId) {
long ts = userToUsageTs.remove(userId);
if (ts <= earliestTimestamp) {
earliestTimestamp = Long.MAX_VALUE;
userToUsageTs.forEachValue(new TLongProcedure() {
public boolean execute(long curTs) {
if (curTs < earliestTimestamp) {
earliestTimestamp = curTs;
}
return true;