public E get(String key) { if (circle.isEmpty()) { return null; } Long hash = Long.valueOf(func.hash(key)); if (circle.containsKey(hash)) { return get(hash); } Circle<E> tail = circle.tail(hash); if (tail.isEmpty()) { return get(circle.firstKey()); } return get(tail.firstKey()); }