[Demonstration 1]

[Buggy Method]
public ItemStack deployParachute(ItemStack itemstack, World world, EntityPlayer entityplayer) {
    // only deploy if entityplayer exists and if player is falling and not already on a parachute.
    if (entityplayer != null && ParachuteCommonProxy.isFalling(entityplayer) && entityplayer.ridingEntity == null) {
        // small parachute only
        float offset = 2.5F;
        EntityParachute chute = new EntityParachute(world, entityplayer.posX, entityplayer.posY + offset, entityplayer.posZ);
        chute.playSound("step.cloth", volume, pitch());
        // set parachute facing player direction
        chute.rotationYaw = entityplayer.rotationYaw - 90.0f;
        if (world.isRemote) {
            RenderParachute.setParachuteColor(ConfigHandler.getChuteColor());
        } else {
            world.spawnEntityInWorld(chute);
        }
        entityplayer.mountEntity(chute);
        ParachuteCommonProxy.setDeployed(true);
        if (!entityplayer.capabilities.isCreativeMode) {
            if (itemstack != null) {
                itemstack.damageItem(ConfigHandler.getHopAndPopDamageAmount(), entityplayer);
            }
        }
    }
    return itemstack;
}

[Buggy Hunk]
float offset = 2.5F; // small parachute only

[Patch]
double offset = ParachuteCommonProxy.getOffsetY();

[Demonstration 2]

[Buggy Method]
@Test
public void testPrefix() throws Exception {
    ComposedCommand command = new ComposedCommand();
    int i = 0;
    char[] letters = ComposedCommand.LETTERS;
    for (char c : letters) {
        String prefix = command.createPrefix(i);
        assertEquals(prefix.charAt(0), c);
        assertEquals(1, prefix.length());
        i++;
    }
}

[Buggy Hunk]
char[] letters = ComposedCommand.LETTERS;

[Patch]
char[] letters = LETTERS;

[Demonstration 3]

[Buggy Method]
@Override
public void visitToken(DetailAST ast) {
    DetailAST init = ast.getFirstChild().getNextSibling();
    String var = getVarAssignedWithZero(init);
    if (var == null) {
        return;
    }
    DetailAST condition = init.getNextSibling().getNextSibling();
    String array = getArrayName(condition);
    if (array == null) {
        return;
    }
    DetailAST postExpr = condition.getNextSibling().getNextSibling();
    if (!isSingleIncrement(postExpr)) {
        return;
    }
    DetailAST loopBody = postExpr.getNextSibling().getNextSibling();
    if (loopBody.getType() == TokenTypes.EXPR) {
        loopBody = loopBody.getParent();
    }
    if (!loopBodyContainsDifficultExpr(loopBody, array, var)) {
        log(ast, "You should use 'foreach loop' instead 'for'");
    }
}

[Buggy Hunk]
if (!isSingleIncrement(postExpr)) {

[Patch]
if (!isSingleIncrement(postExpr, var)) {