Optimize DartFoldingBuilder to only loop through the set of PsiElements in the file once, instead of twice