40 columns                              |
>>> single cascades on same line
"foo"..toString();
<<<
"foo"..toString();
>>> long single cascade forces multi-line
"foo"..toString(argument, argument, argument);
<<<
"foo"
  ..toString(
      argument, argument, argument);
>>> multiple cascades get their own line
"foo"..toString()..toString();
<<<
"foo"
  ..toString()
  ..toString();
>>> cascades indent contained blocks (and force multi-line)
"foo"..toString(() {body;});
<<<
"foo"
  ..toString(() {
    body;
  });