[Demonstration 1]

[Buggy Method]
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        position = getArguments().getInt(POSITION);
        vachana_minis = (ArrayList<VachanaMini>) getArguments().getSerializable(VACHANA_MINIS);
    } else {
        Log.e(TAG, "onCreate: No arguments!!!");
    }
}

[Buggy Hunk]
vachana_minis = (ArrayList<VachanaMini>) getArguments().getSerializable(VACHANA_MINIS);

[Patch]
vachana_minis = getArguments().getParcelableArrayList(VACHANA_MINIS);

[Demonstration 2]

[Buggy Method]
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRetainInstance(true);
    App.getInstance().getAppComponent().plus(new AlarmModule()).plus(new MainScreenModule()).inject(this);
    if (getArguments() != null) {
        long id = getArguments().getLong(ARG_PARAM_ID);
        presenter.loadAlarmAndCreatePlayer(id);
    }
    ViewServer.get(getContext()).addWindow(getActivity());
}

[Buggy Hunk]
presenter.loadAlarmAndCreatePlayer(id);

[Patch]
presenter.loadAlarm(id);

[Demonstration 3]

[Buggy Method]
@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = DataBindingUtil.setContentView(this, R.layout.training_activity);
    grids = new ConstraintLayout[] { binding.trainingActivityLeftGrid, binding.trainingActivityRightGrid };
    // TODO: Each session starts with lowest diff.
    difficulty = 4;
    /*
         * Using this callback as an indicator that layout has finished...
         * meaning that we can use views' measures, etc. at this point.
         * see: https://stackoverflow.com/questions/7733813/how-can-you-tell-when-a-layout-has-been-drawn
         */
    binding.trainingActivityRootLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            // prevent infinite event loop
            binding.trainingActivityRootLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            // START PARADIGM
            sequenceRunner.run();
        }
    });
}

[Buggy Hunk]
sequenceRunner.run();

[Patch]
new SequenceRunner().run();