[Demonstration 1]

[Buggy Method]
@Override
public void close() throws Exception {
    // compose function doesn't seem to want to work here even though it works with other Supplier<Void>
    // strategy functions. maybe the "throws Exception" is hosing it up.......
    this.strategy.getGraphCloseStrategy(this.graphContext, strategy).apply(FunctionUtils.wrapSupplier(() -> {
        getBaseGraph().close();
        return null;
    })).get();
}

[Buggy Hunk]
getBaseGraph().close();

[Patch]
getInnerGraph().close();

[Demonstration 2]

[Buggy Method]
public static void initialise(@NonNull Context context) {
    if (!BuildConfig.ANALYTICS_ENABLED) {
        return;
    }
    if (analytics == null) {
        analytics = GoogleAnalytics.getInstance(context.getApplicationContext());
        analytics.setLocalDispatchPeriod(30);
    }
    if (tracker == null) {
        tracker = analytics.newTracker(trackingId);
        tracker.enableAdvertisingIdCollection(false);
        tracker.enableAutoActivityTracking(false);
        tracker.enableExceptionReporting(false);
        tracker.setSessionTimeout(30);
        tracker.setScreenName(null);
    }
}

[Buggy Hunk]
if (!BuildConfig.ANALYTICS_ENABLED)

[Patch]
if (!Boolean.valueOf(BuildConfig.ANALYTICS_ENABLED))

[Demonstration 3]

[Buggy Method]
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        mSerialService.sendCommand(Constants.SERIAL_CMD_CLOSE, "");
        mSerialService.stop();
        finish();
    } else if (item.getItemId() == R.id.menu_add_command) {
        Command cmd = new Command();
        editCommand(cmd);
    }
    return super.onOptionsItemSelected(item);
}

[Buggy Hunk]
mSerialService.sendCommand(Constants.SERIAL_CMD_CLOSE, "");

[Patch]
mSerialService.sendCommand(Constants.SERIAL_CMD_CLOSE);