List<OldSwitchStatementBranch> () { List<OldSwitchStatementBranch> withPrevious = new ArrayList<>(); OldSwitchStatementBranch current = this; while (true) { withPrevious.add(current); current = current.myPreviousSwitchBranch; if (current == null || current.myStatements.length != 0 || !current.myIsFallthrough) { return withPrevious; } } }