[Demonstration 1]

[Buggy Method]
public void create(String name, String mode) {
    ProgrammingLanguage programmingLanguage = new ProgrammingLanguage();
    programmingLanguage.setName(name);
    programmingLanguage.setMode(name);
    create(programmingLanguage);
}

[Buggy Hunk]
programmingLanguage.setMode(name);

[Patch]
programmingLanguage.setMode(mode);

[Demonstration 2]

[Buggy Method]
public void prepare() {
    setLayout(new BorderLayout());
    /*      HEADER PANEL (Primary header of window)      */
    JPanel header = new JPanel();
    header.setPreferredSize(new Dimension(getWidth() - 16, 30));
    header.setBorder(BorderFactory.createRaisedBevelBorder());
    header.setBackground(Color.decode("#EBF0F2"));
    JLabel headerContent = new JLabel("Product Owner View");
    headerContent.setFont(new Font(headerContent.getFont().getName(), Font.BOLD, 15));
    header.add(headerContent);
    /*      NAVIGATOR PANEL     */
    navigator = new JPanel();
    navigator.setLayout(new GridLayout(12, 1));
    navigator.setBackground(Color.decode("#EBF0F2"));
    navigator.setBorder(BorderFactory.createRaisedBevelBorder());
    projectDetailsButton = new NavButton("Project Details", this);
    projectDetailsButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            frame.remove(getCurrentView());
            frame.add(activeProjectDetailsView, BorderLayout.CENTER);
            frame.revalidate();
            frame.repaint();
            setCurrentView(activeProjectDetailsView);
        }
    });
    projectBacklogButton = new NavButton("Product Backlog", this);
    projectBacklogButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            frame.remove(getCurrentView());
            frame.add(productBacklogView, BorderLayout.CENTER);
            frame.revalidate();
            frame.repaint();
            setCurrentView(productBacklogView);
        }
    });
    sprintButton = new NavButton("Sprint Management", this);
    sprintButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            frame.remove(getCurrentView());
            frame.add(sprintManagementView, BorderLayout.CENTER);
            frame.revalidate();
            frame.repaint();
            setCurrentView(sprintManagementView);
        }
    });
    myDetailsButton = new NavButton("My Details", this);
    myDetailsButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            frame.remove(getCurrentView());
            frame.add(myDetailsView, BorderLayout.CENTER);
            frame.revalidate();
            frame.repaint();
            setCurrentView(myDetailsView);
        }
    });
    logOutButton = new NavButton("Log Out", this);
    logOutButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            int res = JOptionPane.showConfirmDialog(frame, "Are you sure you wish to log out? ", "Log Out", JOptionPane.OK_CANCEL_OPTION);
            if (res == JOptionPane.YES_OPTION) {
                frame.remove(getCurrentView());
                frame.remove(navigator);
                frame.remove(header);
                frame.add(new LoginView(frame));
                frame.revalidate();
                frame.repaint();
            }
        }
    });
    //add buttons to navigator panel
    navigator.add(projectDetailsButton);
    navigator.add(projectBacklogButton);
    navigator.add(sprintButton);
    navigator.add(myDetailsButton);
    navigator.add(logOutButton);
    //add all panels to frame
    frame.add(header, BorderLayout.NORTH);
    frame.add(navigator, BorderLayout.WEST);
    frame.add(productBacklogView, BorderLayout.CENTER);
    setCurrentView(productBacklogView);
    //frame.setVisible(true);
}

[Buggy Hunk]
JPanel header = new JPanel();

[Patch]
final JPanel header = new JPanel();

[Demonstration 3]

[Buggy Method]
private void initialize() {
    this.setTitle("计算器");
    this.setResizable(false);
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout(10, 1));
    panel.add(getTextField(), BorderLayout.NORTH);
    panel.setPreferredSize(new Dimension(PRE_WIDTH, PRE_HEIGHT));
    JButton[] mButton = getMButton();
    // 新建一个panel，用于放置按钮
    JPanel panel1 = new JPanel();
    panel1.setLayout(new GridLayout(5, 1, 0, 5));
    for (JButton b : mButton) {
        panel1.add(b);
    }
    JButton[] rButton = getRButton();
    JPanel panel2 = new JPanel();
    panel2.setLayout(new GridLayout(1, 5));
    // 新建一个panel，用于放置按钮
    JPanel panel21 = new JPanel();
    panel21.setLayout(new GridLayout(1, 3, 3, 3));
    for (JButton b : rButton) {
        panel21.add(b);
    }
    JButton[] nButton = getNButton();
    // 新建一个panel，用于放置按钮
    JPanel panel22 = new JPanel();
    panel22.setLayout(new GridLayout(4, 5, 3, 5));
    for (JButton b : nButton) {
        panel22.add(b);
    }
    panel2.add(panel21, BorderLayout.NORTH);
    panel2.add(panel22, BorderLayout.CENTER);
    panel.add(panel1, BorderLayout.WEST);
    panel.add(panel2, BorderLayout.CENTER);
    this.add(panel);
}

[Buggy Hunk]
panel2.setLayout(new GridLayout(1,5));

[Patch]
panel2.setLayout(new BorderLayout(1,5));