in src/main/java/org/jetbrains/jetCheck/StructureNode.java [86:94]
ShrinkStep shrinkChild(int index) {
int minIndex = kind == StructureKind.GENERIC ? 0 : 1;
for (; index >= minIndex; index--) {
ShrinkStep childShrink = children.get(index).shrink();
if (childShrink != null) return wrapChildShrink(index, childShrink);
}
return shrinkRecursion();
}