とても正しく見えるバグ

すごく面白いバグに出会いました!以下のロジックは「messageが空でない場合messageをログに出力する」というロジックですが、必ずログが出力されます。ぱっと見ただけでこのバグに気づくでしょうか?

if (!StringUtils.isEmpty(message));{
    log.error(message);
}

正解は
ifの後ろにセミコロンがいます。なので見やすくしてみると

if (!StringUtils.isEmpty(message));

{
    log.error(message);
}

こうなるわけです。だからmessageの空判定のifは有効でなく、必ずログ出力のロジックを通ってしまうんですねぇ(笑)うーん、おもしろいバグでした。