message: Fix trees parsing behavior in hierarchical_clustering_index:
  Before, when maxCheck was reached in the first descent of a tree, time was still wasted parsing
  the next trees till their best leaves whose points were not used at all.
diff: @@ -548,7 +548,7 @@ public:
  void findNeighbors(ResultSet<DistanceType>& result, const ElementType* vec, const SearchParams& searchParams) CV_OVERRIDE
  {
  - int maxChecks = get_param(searchParams,"checks",32);
  + const int maxChecks = get_param(searchParams,"checks",32);
  // Priority queue storing intermediate branches in the best-bin-first search
  Heap<BranchSt>* heap = new Heap<BranchSt>((int)size_);
  @@ -557,6 +557,8 @@ public:
  int checks = 0;
  for (int i=0; i<trees_; ++i) {
  findNN(root[i], result, vec, checks, maxChecks, heap, checked);
  + if ((checks >= maxChecks) && result.full())
  + break;
  }
  BranchSt branch;
  @@ -748,8 +750,8 @@ private:
  Heap<BranchSt>* heap, std::vector<bool>& checked)
  {
  if (node->childs==NULL) {
  - if (checks>=maxChecks) {
  - if (result.full()) return;
  + if ((checks>=maxChecks) && result.full()) {
  + return;
  }
  for (int i=0; i<node->size; ++i) {
  int index = node->indices[i];
  