[Demonstration 1]

[Buggy Method]
public void executeTriggerCode(String code, int businessRuleID) throws Exception {
    try {
        Trigger trigger = new Trigger(code, DefineDomainService.getInstance().getBusinessRuleFromList(businessRuleID).getTargetDatabase());
        GeneratePersistencyService.getInstance().executeTrigger(trigger.getCode(), trigger.getTargetDatabase().getTargetDatabaseDetails());
    } catch (NullPointerException e) {
        e.printStackTrace();
        throw new Exception("Cannot execute trigger");
    }
}

[Buggy Hunk]
throw new Exception("Cannot execute trigger");

[Patch]
throw new Exception("Cannot execute trigger" + DatabaseErrorLogger.getInstance().getErrors());

[Demonstration 2]

[Buggy Method]
public void setupBroadcastUDPConnection() {
    if (LFXLog.isDebugEnabled())
        LFXLog.d(TAG, "setupBroadcastUDPConnection()");
    if (broadcastUDPConnection != null) {
        broadcastUDPConnection.disconnect();
        broadcastUDPConnection.setListener(null);
    }
    broadcastUDPConnection = LFXGatewayConnection.getGatewayConnectionWithGatewayDescriptor(LFXGatewayDescriptor.getBroadcastGatewayDescriptor(), this);
    broadcastUDPConnection.connect();
}

[Buggy Hunk]
public void setupBroadcastUDPConnection() {

[Patch]
public synchronized void setupBroadcastUDPConnection() {

[Demonstration 3]

[Buggy Method]
public void run() {
    start();
    while (run) {
        Event e = getNextEvent();
        if (e != null) {
            e.trigger();
        }
    }
}

[Buggy Hunk]
e.trigger();

[Patch]
stateMachine.getCurrentState().notifyEvent(e.getName());