message: Do not assume the first child contains `if`.
diff: @@ -1967,14 +1967,20 @@ void TreeUnwrapper::ReshapeTokenPartitions(
  // after better handling of function calls inside expressions
  // e.g. kBinaryExpression, kUnaryPrefixExpression...
  if (partition.Children().size() > 1) {
  - auto& if_header_partition = partition.Children()[0];
  - const auto original_indentation =
  - if_header_partition.Value().IndentationSpaces();
  - // Adjust indentation recursively
  - verible::AdjustIndentationRelative(&partition, style.wrap_spaces);
  - // Restore original indentation in first partition
  - partition.Value().SetIndentationSpaces(original_indentation);
  - if_header_partition.Value().SetIndentationSpaces(original_indentation);
  + auto if_header_partition_iter = std::find_if(
  + partition.Children().begin(), partition.Children().end(),
  + [](const TokenPartitionTree& n) {
  + const auto* origin = n.Value().Origin();
  + return origin && origin->Tag() ==
  + verible::LeafTag(verilog_tokentype::TK_if);
  + });
  + if (if_header_partition_iter == partition.Children().end()) break;
  +
  + // Adjust indentation of all partitions following if header recursively
  + for (auto& child : make_range(if_header_partition_iter + 1,
  + partition.Children().end())) {
  + verible::AdjustIndentationRelative(&child, style.wrap_spaces);
  + }
  }
  break;
  }
  