[Demonstration 1]

[Buggy Method]
private static IJavaElement javaElement(int elementType) {
    IJavaElement element = Mockito.mock(IJavaElement.class);
    Mockito.when(element.getElementType()).thenReturn(elementType);
    return element;
}

[Buggy Hunk]
Mockito.when( element.getElementType() ).thenReturn( elementType );

[Patch]
intWhen( element.getElementType(), elementType );

[Demonstration 2]

[Buggy Method]
public static List<Ordering> getOrdering(RelCollation collation, RelDataType rowType) {
    List<Ordering> orderExpr = Lists.newArrayList();
    final List<String> childFields = rowType.getFieldNames();
    for (RelFieldCollation fc : collation.getFieldCollations()) {
        FieldReference fr = new FieldReference(childFields.get(fc.getFieldIndex()), ExpressionPosition.UNKNOWN);
        orderExpr.add(new Ordering(fc.getDirection(), fr, fc.nullDirection));
    }
    return orderExpr;
}

[Buggy Hunk]
FieldReference fr = new FieldReference(childFields.get(fc.getFieldIndex()), ExpressionPosition.UNKNOWN);

[Patch]
FieldReference fr = new FieldReference(childFields.get(fc.getFieldIndex()), ExpressionPosition.UNKNOWN, false);

[Demonstration 3]

[Buggy Method]
public void build_phylogeny_tree(Node orthology_group_node) {
    int i, num = 0, num_members, c1, c2;
    double distance, d1, d2;
    LinkedList<Node> members = new LinkedList();
    Node tree_node = null, node;
    Node[] node_pair = new Node[2];
    // Initialize the cardinality and time of the leaves
    for (Relationship rel : orthology_group_node.getRelationships(Direction.OUTGOING)) {
        node = rel.getEndNode();
        node.setProperty("time", (double) 0.0);
        node.setProperty("cardinality", 1);
        members.add(node);
    }
    num_members = orthology_group_node.getDegree();
    // while tree is not completed
    for (; num_members > 1; --num_members) {
        distance = remove_best_pair(members, node_pair);
        tree_node = graphDb.createNode(tree_node_lable);
        tree_node.createRelationshipTo(node_pair[0], RelTypes.branches).setProperty("branch_length", distance / 2 - (double) node_pair[0].getProperty("time"));
        tree_node.createRelationshipTo(node_pair[1], RelTypes.branches).setProperty("branch_length", distance / 2 - (double) node_pair[1].getProperty("time"));
        tree_node.setProperty("time", distance / 2);
        c1 = (int) node_pair[0].getProperty("cardinality");
        c2 = (int) node_pair[1].getProperty("cardinality");
        tree_node.setProperty("cardinality", c1 + c2);
        // Update distances
        for (Relationship rel1 : node_pair[0].getRelationships(RelTypes.resembles)) {
            node = rel1.getOtherNode(node_pair[0]);
            if (members.contains(node) && !node.equals(node_pair[1])) {
                Relationship rel2 = get_edge(node_pair[1], node, RelTypes.resembles);
                d1 = 1 - (double) rel1.getProperty("similarity");
                d2 = 1 - (double) rel2.getProperty("similarity");
                tree_node.createRelationshipTo(node, RelTypes.resembles).setProperty("similarity", 1 - ((d1 * c1 + d2 * c2) / (c1 + c2)));
                rel1.delete();
                rel2.delete();
            }
        }
        members.add(tree_node);
    }
    tree_node.addLabel(tree_root_lable);
}

[Buggy Hunk]
int i, num = 0, num_members, c1, c2;

[Patch]
int num_members, c1, c2;