code: @Override
    public V get(final Object key) {
      if (size() == 0)
        return null;
  
      OMVRBTreeEntry<K, V> entry = null;
  
      final long timer = OProfiler.getInstance().startChrono();
  
      try {
        // TRY TO GET LATEST SEARCH
        final OMVRBTreeEntry<K, V> node = getLastSearchNodeForSameKey(key);
        if (node != null) {
          // SAME SEARCH OF PREVIOUS ONE: REUSE LAST RESULT?
          if (lastSearchFound)
            // REUSE LAST RESULT, OTHERWISE THE KEY NOT EXISTS
            return node.getValue(lastSearchIndex);
        } else
          // SEARCH THE ITEM
          entry = getEntry(key, PartialSearchMode.NONE);
  
        return entry == null ? null : entry.getValue();
  
      } finally {
        OProfiler.getInstance().stopChrono("OMVRBTree.get", timer);
      }
    }
docs: Returns the value to which the specified key is mapped, or {@code null} if this map contains no mapping for the key.
  
  <p>
  More formally, if this map contains a mapping from a key {@code k} to a value {@code v} such that {@code key} compares equal to
  {@code k} according to the map's ordering, then this method returns {@code v}; otherwise it returns {@code null}. (There can be
  at most one such mapping.)
  
  <p>
  A return value of {@code null} does not <i>necessarily</i> indicate that the map contains no mapping for the key; it's also
  possible that the map explicitly maps the key to {@code null}. The {@link #containsKey containsKey} operation may be used to
  distinguish these two cases.
  
  @throws ClassCastException
  if the specified key cannot be compared with the keys currently in the map
  @throws NullPointerException
  if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys