code: public V putIfAbsent(@NonNull K key, @NonNull V v) {
          Entry<K, V> entry = get(key);
          if (entry != null) {
              return entry.mValue;
          }
          put(key, v);
          return null;
      }
docs: If the specified key is not already associated
  with a value, associates it with the given value.
  
  @param key key with which the specified value is to be associated
  @param v   value to be associated with the specified key
  @return the previous value associated with the specified key,
  or {@code null} if there was no mapping for the key