code: public OMVRBTreeEntry<K, V> getFloorEntry(final K key, final PartialSearchMode partialSearchMode) {
      OMVRBTreeEntry<K, V> p = getEntry(key, true, partialSearchMode);
  
      if (p == null)
        return null;
  
      if (pageItemFound)
        return p;
  
      final OMVRBTreeEntry<K, V> adjacentEntry = previous(p);
      if (key instanceof OCompositeKey) {
        return adjustSearchResult((OCompositeKey) key, partialSearchMode, adjacentEntry);
      }
      return adjacentEntry;
    }
docs: Gets the entry corresponding to the specified key; if no such entry exists, returns the entry for the greatest key less than
  the specified key; if no such entry exists, returns <tt>null</tt>.
  
  @param key
  Key to search.
  @param partialSearchMode
  In case of {@link OCompositeKey} composite key is passed in this parameter will be used to find preferred one.