[Demonstration 1]

[Buggy Method]
public void reset() {
    this.data.clear();
    this.targetFile = null;
}

[Buggy Hunk]
this.targetFile = null;

[Patch]
this.targetFile.set(null);

[Demonstration 2]

[Buggy Method]
public Object writeReplace(final Object original) {
    if (original instanceof URIAffinity) {
        return Affinity.NONE;
    } else if (original == Affinity.LOCAL) {
        // Swap a local affinity with a node affinity with the name of this node
        return nodeAffinity;
    } else if (original instanceof AbstractEJBMetaData) {
        return new EJBMetaDataImpl((AbstractEJBMetaData<?, ?>) original);
    } else if (original instanceof RemoteExceptionCause) {
        // old clients will not have this class
        return ((RemoteExceptionCause) original).toPlainThrowable();
    }
    return original;
}

[Buggy Hunk]
return nodeAffinity;

[Patch]
return new NodeAffinity(connection.getRemoteEndpointName());

[Demonstration 3]

[Buggy Method]
public static void updateoriginal(List<Combatant> originalteam) {
    for (final Combatant inbattle : BattleMap.blueTeam) {
        for (final Combatant original : originalteam) {
            if (original.equals(inbattle)) {
                updatehp(inbattle, original);
                original.xp = inbattle.xp;
                copyspells(inbattle, original);
                break;
            }
        }
    }
    for (final Combatant dead : BattleMap.dead) {
        for (final Combatant original : originalteam) {
            if (dead.id == original.id) {
                updatehp(dead, original);
                break;
            }
        }
    }
}

[Buggy Hunk]
if (dead.id == original.id) {

[Patch]
if (dead.equals(original)) {