docstr: Find the best match to the queryPoint given the conditioner and k from self.
  :param queryPoint: array vector to use to query for NNs
  :param conditioner: set of labels that will subset or condition the NN query
  :param k: int representing the maximum number of neighbors to return
  :return: array of tuples representing the index of the match and its distance
docstr_tok: ["Find","the","best","match","to","the","queryPoint","given","the","conditioner","and","k","from","self",".",":","param","queryPoint",":","array","vector","to","use","to","query","for","NNs",":","param","conditioner",":","set","of","labels","that","will","subset","or","condition","the","NN","query",":","param","k",":","int","representing","the","maximum","number","of","neighbors","to","return",":","return",":","array","of","tuples","representing","the","index","of","the","match","and","its","distance"]
code: def findMaximumInnerProducts(self, queryPoint, conditioner, k):
      """
      Find the best match to the queryPoint given the conditioner and k from self.
      :param queryPoint: array vector to use to query for NNs
      :param conditioner: set of labels that will subset or condition the NN query
      :param k: int representing the maximum number of neighbors to return
      :return: array of tuples representing the index of the match and its distance
      """
      return [
          (bm.index(), bm.distance())
          for bm in self._jconditional_balltree.findMaximumInnerProducts(
              queryPoint,
              conditioner,
              k,
          )
      ]
  
imports: import sys
  from pyspark import SparkContext
label_desc: Use image node_id 2 for calling the ConditionalBallTree obj's underlying member method code with example usage: obj.findMaximumInnerProducts(queryPoint, conditioner, k) and returns: unknown