Which First?

        char charAt2(int index) {
          writeFile(this, index);
          return this.charAt(index);
        }

        method(s1.charAt2(x), s2.charAt2(y));
      

  1. s1.charAt2(x) executes first, then s2.charAt2(y).

  2. s2.charAt2(y) executes first, then s1.charAt2(x).

  3. Dunno which executes first — better find out.

  4. I might know which executes first but I don't care.