[Demonstration 1]

[Buggy Method]
@Override
public void actionPerformed(@NotNull final AnActionEvent anActionEvent) {
    Project project = anActionEvent.getProject();
    VirtualFile virtualFile = project.getBaseDir();
    String sourcesProp = Utils.getPropertyValue(PROPERTY_SOURCES);
    List<String> sourcesList = Utils.getSourcesList(sourcesProp);
    Crowdin crowdin = new Crowdin();
    for (String src : sourcesList) {
        VirtualFile source = Utils.getSourceFile(virtualFile, src);
        String branch = Utils.getCurrentBranch(project);
        crowdin.uploadFile(source, branch);
    }
}

[Buggy Hunk]
String sourcesProp = Utils.getPropertyValue(PROPERTY_SOURCES);

[Patch]
String sourcesProp = Utils.getPropertyValue(PROPERTY_SOURCES, true);

[Demonstration 2]

[Buggy Method]
private void init() {
    final ArrayList<Fragment> fragments = new ArrayList<Fragment>();
    fragments.add(new FilerPyFragment());
    fragments.add(new FilterRadicalFragment());
    fragments.add(new FiterStokeFragment());
    FragmentPagerAdapter adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return fragments.size();
        }

        @Override
        public Fragment getItem(int arg0) {
            // TODO Auto-generated method stub
            return fragments.get(arg0);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            // TODO Auto-generated method stub
            return sTitleList[0];
        }
    };
    ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
    viewPager.setAdapter(adapter);
}

[Buggy Hunk]
FragmentPagerAdapter adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {

[Patch]
FragmentStatePagerAdapter adapter = new FragmentStatePagerAdapter(getSupportFragmentManager()) {

[Demonstration 3]

[Buggy Method]
@Override
public void setCurrentActions(HasContextActions contextNavigable) {
    if (contextNavigable == null) {
        contextButtonContainer.setVisible(false);
    } else {
        contextButtonWrapper.forEach(component -> {
            if (component != floatingButton) {
                contextButtonWrapper.removeComponent(component);
            }
        });
        contextButtonContainer.setVisible(true);
        smallContextButtonContainer.removeAllComponents();
        List<Action> actions = contextNavigable.getContextActions();
        Map<Action, Component> generatedButtons = new HashMap<>();
        floatingButton.setIcon(VaadinIcons.ELLIPSIS_V);
        actions.stream().forEach(action -> {
            Component buttonComponent = null;
            if (action instanceof CustomAction) {
                CustomAction customAction = (CustomAction) action;
                if (customAction.hasMobileComponent()) {
                    buttonComponent = customAction.getMobileComponent();
                }
            } else if (action instanceof DownloadAction) {
                buttonComponent = new DownloadButton((DownloadAction) action);
            } else if (action instanceof UploadAction) {
                buttonComponent = new HorizontalLayout();
                ((HorizontalLayout) buttonComponent).addComponent(new UploadButton((UploadAction) action));
            } else if (action instanceof ClickAction) {
                buttonComponent = new Button(action.getResource());
                ((Button) buttonComponent).addClickListener(clickEvent -> ((ClickAction) action).getListener().actionPerformed(null));
            }
            if (buttonComponent != null) {
                generatedButtons.put(action, buttonComponent);
            }
        });
        if (generatedButtons.size() > 1) {
            floatingButton.setVisible(true);
            generatedButtons.forEach((action, component) -> {
                component.setStyleName("context-button");
                component.setWidth("50px");
                component.setHeight("50px");
                smallContextButtonContainer.addComponent(component);
            });
            setStyle(contextButtonContainer, "display-none", false);
            Button.ClickListener clickListener = (Button.ClickListener) clickEvent -> {
                toggleStyle(smallContextButtonContainer, "display-none");
            };
            floatingButton.addClickListener(clickListener);
        } else {
            floatingButton.setVisible(false);
            generatedButtons.forEach((action, component) -> {
                component.setStyleName("context-button");
                component.setWidth("60px");
                component.setHeight("60px");
                contextButtonWrapper.addComponent(component);
            });
        }
    }
}

[Buggy Hunk]
if (customAction.hasMobileComponent()) {

[Patch]
if (customAction.isMobileCompliant()) {