code: void maybeExposeExpression(Node expression) {
      // If the expression needs to exposed.
      int i = 0;
      while (DecompositionType.DECOMPOSABLE == canExposeExpression(expression)) {
        exposeExpression(expression);
        i++;
        if (i > MAX_ITERATIONS) {
          throw new IllegalStateException(
              "DecomposeExpression depth exceeded on:\n" + expression.toStringTree());
        }
      }
    }
docs: If required, rewrite the statement containing the expression.
  
  @param expression The expression to be exposed.
  @see #canExposeExpression