code: public T floor(T T) {
        if (T == null) {
           return null;
        }
        NodeIterator<T> iterator = new NodeIterator<>(root, -1, T.start(), false);
        if (iterator.hasNext()) {
           return iterator.next();
        }
        return null;
     }
docs: Floor T.
  
  @param T the T
  @return the T