[Demonstration 1]

[Buggy Method]
@Override
public void onItemRangeInserted(int positionStart, int itemCount) {
    super.onItemRangeInserted(positionStart, itemCount);
    if (mIsBaseAdapterEnabled) {
        notifyItemRangeInserted(positionStart, itemCount);
    }
}

[Buggy Hunk]
notifyItemRangeInserted(positionStart, itemCount);

[Patch]
notifyItemRangeInserted(getPosition(positionStart), itemCount);

[Demonstration 2]

[Buggy Method]
@Override
public void onStateChanged(StateChangeEvent stateChangeEvent) {
    super.onStateChanged(stateChangeEvent);
    getWidget().setDragFilter(new VSWDragFilter(getState().dd));
}

[Buggy Hunk]
getWidget().setDragFilter(new VSWDragFilter(getState().dd));

[Patch]
getWidget().setDragFilter(new VSWDragFilter(getState().ddState));

[Demonstration 3]

[Buggy Method]
@Override
public void doStateChange(StateChangeEvent event) {
    try {
        service.execute(new Runnable() {

            @Override
            public void run() {
                moveNextState(event);
            }
        });
    } catch (RejectedExecutionException ex) {
        if (service.isShutdown()) {
            delegateException(new StateExecutionException("Thread pool has been shut down.", ex));
        } else {
            delegateException(new StateExecutionException("Exception occurred in onStateChange", ex));
        }
    }
}

[Buggy Hunk]
public void doStateChange(StateChangeEvent event) {

[Patch]
public void doStateChange(final StateChangeEvent event) {