class CyclicIteration implements Iterable<Map.Entry<K, V>> {

  public CyclicIteration(NavigableMap<K, V> navigablemap, K startingkey) {
    if (navigablemap == null || navigablemap.isEmpty()) {
      this.navigablemap = null;
      this.tailmap = null;
    } else {
      this.navigablemap = navigablemap;
      this.tailmap = navigablemap.tailMap(startingkey, false);
    }
  }

  public  CyclicIteration(NavigableMap<K, V> navigablemap, K startingkey);

}