code: public Object nearestNeighbour( Envelope env, Object item, ItemDistance itemDist ) {
          Boundable bnd = new ItemBoundable(env, item);
          BoundablePair bp = new BoundablePair(this.getRoot(), bnd, itemDist);
          return nearestNeighbour(bp)[0];
      }
docs: Finds the item in this tree which is nearest to the given {@link Object},
  using {@link org.locationtech.jts.index.strtree.ItemDistance} as the distance metric.
  A Branch-and-Bound tree traversal algorithm is used
  to provide an efficient search.
  <p>
  The query <tt>object</tt> does <b>not</b> have to be
  contained in the tree, but it does
  have to be compatible with the <tt>itemDist</tt>
  distance metric.
  
  @param env the envelope of the query item
  @param item the item to find the nearest neighbour of
  @param itemDist a distance metric applicable to the items in this tree and the query item
  @return the nearest item in this tree