Javaのfor文の中でcontinueが複数ある場合の実装を簡略化したい


下記のような実装の場合、isAAAまたはisBBBのとき以外は実行文CCCを実行し、  
また実行文共通の箇所をまとめるような実装方法などありますでしょうか？

[code]

    for (line : List) {
        if (isAAA(line)) { 実行文AAA; 実行文共通; continue; } 
        if (isBBB(line)) { 実行文BBB; 実行文共通; continue; }
     
        実行文CCC;
    }
    
[/code]




if をネストするとか：

[code]

    for (line : List) {
        if (isAAA(line) || isBBB(line)) {
            if (isAAA(line)) { 実行文AAA; }
            if (isBBB(line)) { 実行文BBB; }
            実行文共通;
            continue;
        }
    
        実行文CCC;
    }
    
[/code]

フラグを使うとか：

[code]

    for (line : List) {
        boolean flag;
    
        if (isAAA(line)) { 実行文AAA; flag = true; }
        if (isBBB(line)) { 実行文BBB; flag = true; }
    
        if (flag) {    
            実行文共通;
            continue;
        }
    
        実行文CCC;
    }
    
[/code]

むしろ実行文共通を独立したメソッドにして別に定義してしまえば、同じものを繰り返し記述しても構わないとも思います：

[code]

    for (line : List) {
        boolean flag;
    
        if (isAAA(line)) { 実行文AAA; 共通メソッド; continue; }
        if (isBBB(line)) { 実行文BBB; 共通メソッド; continue; }
    
        実行文CCC;
    }
    
    void 共通メソッド() {}
    
[/code]




if をネストするとか：

[code]

    for (line : List) {
        if (isAAA(line) || isBBB(line)) {
            if (isAAA(line)) { 実行文AAA; }
            if (isBBB(line)) { 実行文BBB; }
            実行文共通;
            continue;
        }
    
        実行文CCC;
    }
    
[/code]

フラグを使うとか：

[code]

    for (line : List) {
        boolean flag;
    
        if (isAAA(line)) { 実行文AAA; flag = true; }
        if (isBBB(line)) { 実行文BBB; flag = true; }
    
        if (flag) {    
            実行文共通;
            continue;
        }
    
        実行文CCC;
    }
    
[/code]

むしろ実行文共通を独立したメソッドにして別に定義してしまえば、同じものを繰り返し記述しても構わないとも思います：

[code]

    for (line : List) {
        boolean flag;
    
        if (isAAA(line)) { 実行文AAA; 共通メソッド; continue; }
        if (isBBB(line)) { 実行文BBB; 共通メソッド; continue; }
    
        実行文CCC;
    }
    
    void 共通メソッド() {}
    
[/code]

