[Demonstration 1]

[Buggy Method]
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
    /*
		 * Google Play services can resolve some errors it detects. If the error
		 * has a resolution, try sending an Intent to start a Google Play
		 * services activity that can resolve error.
		 */
    if (connectionResult.hasResolution()) {
        try {
            // Start an Activity that tries to resolve the error
            connectionResult.startResolutionForResult(mCordova.getActivity(), LocationUtils.CONNECTION_FAILURE_RESOLUTION_REQUEST);
        } catch (IntentSender.SendIntentException e) {
            // Log the error
            e.printStackTrace();
        }
    } else {
        // If no resolution is available, display a dialog to the user with
        // the error.
        showErrorDialog(connectionResult.getErrorCode());
    }
}

[Buggy Hunk]
showErrorDialog(connectionResult.getErrorCode());

[Patch]
showErrorDialog(connectionResult.getErrorCode(), LocationUtils.CONNECTION_FAILURE_RESOLUTION_REQUEST);

[Demonstration 2]

[Buggy Method]
@Override
public void onPause() {
    super.onPause();
    mapView.onPause();
}

[Buggy Hunk]
mapView.onPause();

[Patch]
mapViewHandler.getMapView().onPause();

[Demonstration 3]

[Buggy Method]
protected final void fireVariableChanged(T value) {
    for (EzVarListener<T> l : listeners) l.variableChanged(this, value);
    if (getUI() != null) {
        updateVisibilityChain();
        getUI().repack(true);
    }
}

[Buggy Hunk]
if (getUI() != null)

[Patch]
if (getUI() != null && guiInitialized)