/** * {@inheritDoc} */ public Key findBest(Key key) { // quick check for already cached key if (contains(key)) { return key; } Iterator<Key> iter = sortedKeys.iterator(); while (iter.hasNext()) { Key k = iter.next(); // check if the existing aggregate is a 'subset' of the one we're // looking for if (key.contains(k)) { return k; } } return null; }
/** * {@inheritDoc} */ public Key findBest(Key key) { // quick check for already cached key if (contains(key)) { return key; } Iterator<Key> iter = sortedKeys.iterator(); while (iter.hasNext()) { Key k = iter.next(); // check if the existing aggregate is a 'subset' of the one we're // looking for if (key.contains(k)) { return k; } } return null; }
/** * {@inheritDoc} */ public Key findBest(Key key) { // quick check for already cached key if (contains(key)) { return key; } // clone TreeSet first to prevent ConcurrentModificationException TreeSet<Key> keys = (TreeSet<Key>) sortedKeys.clone(); Iterator<Key> iter = keys.iterator(); while (iter.hasNext()) { Key k = iter.next(); if (key.contains(k)) { return k; } } return null; }
/** * {@inheritDoc} */ public Key findBest(Key key) { // quick check for already cached key if (contains(key)) { return key; } // clone TreeSet first to prevent ConcurrentModificationException TreeSet<Key> keys = (TreeSet<Key>) sortedKeys.clone(); Iterator<Key> iter = keys.iterator(); while (iter.hasNext()) { Key k = iter.next(); if (key.contains(k)) { return k; } } return null; }