public V getIfAbsent(K key, Function0<? extends V> function) {
   V result = this.get(key);
   if (this.isAbsent(result, key)) {
     return function.value();
   }
   return result;
 }
 @Override
 public T detectIfNone(Predicate<? super T> predicate, Function0<? extends T> function) {
   return function.value();
 }