[Demonstration 1]

[Buggy Method]
@Override
public int getItemCount() {
    return ((movieDetails == null) ? 0 : 1) + ((trailersArray == null) ? 0 : 1) + ((reviewsArray == null) ? 0 : 1);
}

[Buggy Hunk]
return ((movieDetails == null) ? 0 : 1 ) + ((trailersArray == null) ? 0 : 1) + ((reviewsArray == null) ? 0 : 1);

[Patch]
return 1 + trailersArray.length + reviewsArray.length;

[Demonstration 2]

[Buggy Method]
public List<BaseComponent[]> getPage(int page, boolean isPlayer) {
    int startIndex;
    int endIndex;
    if (isPlayer) {
        startIndex = (page - 1) * PLAYER_HEIGHT;
        endIndex = page * PLAYER_HEIGHT;
    } else {
        startIndex = (page - 1) * CONSOLE_HEIGHT;
        endIndex = page * CONSOLE_HEIGHT;
    }
    if (startIndex > lines.size()) {
        endIndex = lines.size() - 1;
        startIndex = endIndex;
    } else if (endIndex >= lines.size()) {
        endIndex = lines.size() - 1;
    }
    return lines.subList(startIndex, endIndex);
}

[Buggy Hunk]
if (startIndex > lines.size()) {

[Patch]
if (startIndex >= lines.size()) {

[Demonstration 3]

[Buggy Method]
public int getQueryEnd() {
    switch(daaHeader.getAlignMode()) {
        case blastp:
            {
                return queryBegin + translatedQueryLen - 1;
            }
        case blastx:
            {
                int len = translatedQueryLen * 3 * (frame > 2 ? -1 : 1);
                return queryBegin + (len > 0 ? -1 : 1) + len;
            }
        case blastn:
            {
                int len = translatedQueryLen * (frame > 0 ? -1 : 1);
                return queryBegin + (len > 0 ? -1 : 1) + len;
            }
        default:
            return 0;
    }
}

[Buggy Hunk]
int len = translatedQueryLen * 3 * (frame > 2 ? -1 : 1);

[Patch]
int len = translatedQueryLen * 3 * (frame > 2 ? -1 : 1) + frameshiftAdjustmentForBlastXMode;