[Demonstration 1]

[Buggy Method]
private void addImport(XSDSchema schema, XSDFactory factory, String namespace, String schemaLocation) {
    XSDImport xsdImport = factory.createXSDImport();
    xsdImport.setNamespace(namespace);
    xsdImport.setSchemaLocation((String) schemaLocation);
    schema.getContents().add(xsdImport);
}

[Buggy Hunk]
xsdImport.setSchemaLocation((String) schemaLocation);

[Patch]
xsdImport.setSchemaLocation(schemaLocation);

[Demonstration 2]

[Buggy Method]
private static BlockStatement createHashStatements(ClassNode cNode, List<String> propertyNodesToUse) {
    // HashCodeSalts.salts field
    FieldNode saltsFieldNode = HASHCODESALTS_TYPE.getDeclaredField("salts");
    assert saltsFieldNode.isPublic() && saltsFieldNode.isStatic();
    /**
     * (Pseudo-Code)
     * visitMap.put(System.identityHashCode(this), Boolean.TRUE)
     * return
     *   (getter(logicalHashCodeProperties[0]) != null && !visitMap.containsKey(System.identityHashCode(getter(logicalHashCodeProperties[0])) ? salts[0] * (getter(logicalHashCodeProperties[0]) instanceof LogicalEqualsAndHashCodeInterface ? getter(logicalHashCodeProperties[0]).__hashCode(visitMap) : getter(logicalHashCodeProperties[0]).hashCode()) : 0)
     *   ^ ...
     *   ^
     *   (getter(logicalHashCodeProperties[N]) != null && !visitMap.containsKey(System.identityHashCode(getter(logicalHashCodeProperties[N])) ? salts[N] * (getter(logicalHashCodeProperties[N]) instanceof LogicalEqualsAndHashCodeInterface ? getter(logicalHashCodeProperties[N]).__hashCode(visitMap) : getter(logicalHashCodeProperties[N]).hashCode()) : 0)
     *
     * null property values equal a hash code of 0.
     *
     * Returns 0 if logicalHashCodeProperties is empty or all property
     * values are null.
     */
    final BlockStatement body = new BlockStatement();
    body.addStatement(new ExpressionStatement(callX(varX("visitMap"), "put", args(callX(SYSTEM_TYPE, "identityHashCode", varX("this")), fieldX(BOOLEAN_TYPE, "TRUE")))));
    Expression lastExpression = constX(0);
    if (propertyNodesToUse != null && propertyNodesToUse.size() > 0) {
        int propertyIndex = 0;
        for (String propertyName : propertyNodesToUse) {
            PropertyNode pNode = cNode.getProperty(propertyName);
            assert pNode != null;
            Expression propValExpr = getterX(cNode, pNode);
            Expression notVisitedExpr = notX(callX(varX("visitMap"), "containsKey", callX(SYSTEM_TYPE, "identityHashCode", propValExpr)));
            lastExpression = xorX(lastExpression, ternaryX(andX(notNullX(propValExpr), notVisitedExpr), multX(indexX(fieldX(HASHCODESALTS_TYPE, "salts"), constX(propertyIndex)), ternaryX(isInstanceOfX(propValExpr, MY_TYPE), callX(propValExpr, "__hashCode", varX("visitMap")), callX(propValExpr, "hashCode"))), constX(0)));
            propertyIndex++;
        }
    }
    body.addStatement(returnS(lastExpression));
    return body;
}

[Buggy Hunk]
isInstanceOfX(propValExpr, MY_TYPE),

[Patch]
isInstanceOfX(propValExpr, LOGICALEQUALSHASHCODE_INTERFACE_TYPE),