change

if (mergedAnnotation == null) {
    return tryAdvance(aggregate, action);
}

to

if (mergedAnnotation == null) {
    return tryAdvance(aggregate, action, lowestDistance, annotationResult);
}

to avoid repetitive visiting to the former code.

Testcase passed.

Comment From: sbrannen

Hi @yilianhuaixiao,

Thanks for the PR.

Out of curiosity, what prompted you to make these changes?

Did you notice a performance issue via benchmarking?

Testcase passed.

Also, can you please expound on that? Which test case are you referring to?

Comment From: snicoll

Closing due to the lack of feedback.