Couple<Integer> (MultiChildDescriptor childDescriptor, PsiFragment parentFragment, NodeSpecificHasher nodeSpecificHasher) { final PsiElement[] elements = childDescriptor.getElements(); return switch (childDescriptor.getType()) { case OPTIONALLY_IN_PATTERN, DEFAULT -> hashChildResults(computeHashes(elements, parentFragment, nodeSpecificHasher), 31); case IN_ANY_ORDER -> hashChildResults(computeHashes(elements, parentFragment, nodeSpecificHasher), 1); default -> Couple.of(0, 0); }; }