106107108109110111112113114115116117118119120121122123124125
// synchronized protected final Term take(String k, Term pattern) { List<Term> nomatch = new ArrayList<Term>(); Term result; while (true) { result = pick(k); if (null == result) { break; } // IO.trace("$$After pick: t="+t+this); if (result.matches(pattern)) { break; } else {
158159160161162163164165166167168
Queue<Term> queue = get(k); if (queue == null) { return null; } Term T = queue.poll(); if (queue.isEmpty()) { remove(k); // IO.trace("$$Removed key:"+k+this); }