[Demonstration 1]

[Buggy Method]
@Override
public void visitMethodInsn(final int opcode, final String owner, final String name, final String desc, boolean itf) {
    String methodSignature = SignatureHelper.getMethodSignature(name, desc);
    TypeCache.CachedType targetType = visitorHelper.resolveType(SignatureHelper.getObjectType(owner), containingType);
    MethodDescriptor invokedMethodDescriptor = visitorHelper.getMethodDescriptor(targetType, methodSignature);
    visitorHelper.addInvokes(methodDescriptor, line, invokedMethodDescriptor);
}

[Buggy Hunk]
visitorHelper.addInvokes(methodDescriptor, line, invokedMethodDescriptor);

[Patch]
visitorHelper.addInvokes(methodDescriptor, lineNumber, invokedMethodDescriptor);

[Demonstration 2]

[Buggy Method]
@Test
public void testGetCurrentSprintDetail_HappyPath() {
    featureRepo.save(mockV1Feature);
    featureRepo.save(mockJiraFeature);
    featureRepo.save(mockJiraFeature2);
    String testTeamId = "08374321";
    String testSprintName = "Test Sprint 2";
    assertEquals("Expected current sprint detail did not match actual current sprint detail", testSprintName, featureRepo.getCurrentSprintDetail(testTeamId, maxDateWinner).get(0).getsSprintName());
}

[Buggy Hunk]
.get(0).getsSprintName());

[Patch]
.get(0).getSSprintName());

[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)) {