code: private static void renderExpr(boolean first, CodeBlock.Builder code, Node<PluralType> expr) {
      Iterator<Node<PluralType>> iter = expr.asStruct().nodes().iterator();
  
      // Parse out the two forms of operand expressions we support:
      //
      //    n = <rangelist>
      //    n % m = <rangelist>
      //
      Atom<PluralType> operand = iter.next().asAtom();
      Atom<PluralType> modop = null;
      Atom<PluralType> relop = iter.next().asAtom();
      if (relop.type() == PluralType.MODOP) {
        modop = relop;
        relop = iter.next().asAtom();
      }
  
      String var = (String)operand.value();
      List<Node<PluralType>> rangeList = iter.next().asStruct().nodes();
  
      boolean decimalsZero = false;
      if (var.equals("n") && modop != null) {
        // We're applying mod to the 'n' operand, we must also ensure that
        // decimal value == 0.
        decimalsZero = true;
      }
      
      // If this is the first expression, define the variable; otherwise reuse it.
      String fmt = "zz = o.$L()";
      if (first) {
        fmt = "long " + fmt;
      }
  
      // Mod operations modify the operand before assignment.
      if (modop != null) {
        fmt += " % $LL";
      }
  
      // Emit the expression.
      if (modop != null) {
        code.addStatement(fmt, var, (int)modop.value());
      } else {
        code.addStatement(fmt, var);
      }
  
      renderExpr(code, rangeList, relop.value().equals("="), decimalsZero);
    }
docs: Render the header of a branch method.