[Demonstration 1]

[Buggy Method]
@Override
protected Fragment createFragment() {
    UUID uuid = (UUID) getIntent().getSerializableExtra(EXTRA_NOTE_ID_NUM);
    return NoteFragment.newInstance(uuid);
}

[Buggy Hunk]
return NoteFragment.newInstance(uuid);

[Patch]
return NoteFragmentEdit.newInstance(uuid);

[Demonstration 2]

[Buggy Method]
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    exerciseId = getArguments().getInt(BUNDLE_EXERCISE_ID, Bundles.SHIT_ID);
    setTitle(getTitle());
    tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.workout_tracker_title)));
    tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.workout_history_title)));
    tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.workout_graphs_title)));
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
    tabLayout.setTabMode(TabLayout.MODE_FIXED);
    final WorkoutContainerAdapter adapter = new WorkoutContainerAdapter(getChildFragmentManager(), exerciseId);
    viewPager.setAdapter(adapter);
    viewPager.setOffscreenPageLimit(0);
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {

        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {
        }
    });
}

[Buggy Hunk]
viewPager.setOffscreenPageLimit(0);

[Patch]
viewPager.setOffscreenPageLimit(4);

[Demonstration 3]

[Buggy Method]
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    viewPager = (ViewPager) findViewById(R.id.viewpager);
    viewPager.addOnPageChangeListener(mOnPageChangeListener);
    navigation = (BottomNavigationView) findViewById(R.id.navigation);
    navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
    ShowTimeFragment showTimeFragment = new ShowTimeFragment().setPresenter(new ClockPresenter(this));
    StopWatchFragment stopWatchFragment = new StopWatchFragment();
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(showTimeFragment);
    adapter.addFragment(stopWatchFragment);
    viewPager.setAdapter(adapter);
}

[Buggy Hunk]
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());

[Patch]
adapter = new ViewPagerAdapter(getSupportFragmentManager());