private <K,V>V forceFind(NavigableMap<K,V> map,K key,V newObject){
  V data=map.get(key);
  if (data == null) {
    data=newObject;
    map.put(key,data);
  }
  return data;
}

private < K , V > V forceFind ( NavigableMap < K , V > map , K key , V newObject ) { V data = map . get ( key ) ; if ( data == null ) { data = newObject ; map . put ( key , data ) ; } return data ; }
helper method to find a key in a map . if key is not found , newobject is added to map and returned
