[Demonstration 1]

[Buggy Method]
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mAdapter = new MainAdapter(this);
    RecyclerView list = (RecyclerView) findViewById(R.id.list);
    list.setLayoutManager(new LinearLayoutManager(this));
    list.setAdapter(mAdapter);
    setSupportActionBar((Toolbar) findViewById(R.id.main_toolbar));
    if (savedInstanceState != null) {
        mCab = MaterialCab.restoreState(savedInstanceState, this);
        mAdapter.restoreState(savedInstanceState);
    } else {
        for (int i = 0; i <= 80; i++) mAdapter.add("Item " + i);
    }
}

[Buggy Hunk]
mCab = MaterialCab.restoreState(savedInstanceState, this);

[Patch]
mCab = MaterialCab.restoreState(savedInstanceState, this, this);

[Demonstration 2]

[Buggy Method]
@Override
public void dispose() {
    super.dispose();
    previousGame.dispose();
    ((TextureRegionDrawable) overlay.getDrawable()).getRegion().getTexture().dispose();
    stage.dispose();
}

[Buggy Hunk]
previousGame.dispose();

[Patch]
if (disposeGame) previousGame.dispose();

[Demonstration 3]

[Buggy Method]
public Throwable getCauseOfDeath() {
    return causeOfDeath;
}

[Buggy Hunk]
public Throwable getCauseOfDeath() {

[Patch]
public @CheckForNull Throwable getCauseOfDeath() {