public void repaintGCViewer() {

        JPanel contentPanel = new JPanel(new BorderLayout());
        JPanel jPanelForChartPanel = new JPanel();
        GCDataType[] gcDataTypes = GCDataType.values();

        jPanelForChartPanel.setLayout(new GridLayout(gcDataTypes.length, 1));

        DataHolder dataHolder = new DataHolder();
        List<String> timeLines = dataHolder.getSortedTimeLine();
        System.out.println(timeLines);

        int width = Config.WidthPerChartPanel;

        for (int i = 0; i < gcDataTypes.length; i++) {

            CategoryDataset dataset = createDataset(dataHolder, timeLines,
                    gcDataTypes[i]);

            width = Math.max(width, dataset.getColumnCount()
                    * Config.WidthPerGCData);

            JFreeChart chart = createChart(dataset);
            ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new Dimension(width,
                    Config.HeightPerChartPanel));
            jPanelForChartPanel.add(chartPanel);

        }

        JScrollPane jScrollPane = new JScrollPane(jPanelForChartPanel);
        jScrollPane.setPreferredSize(new Dimension(width,
                Config.HeightPerChartPanel * gcDataTypes.length));

        contentPanel.add(SelectPanel.selectPanel, BorderLayout.NORTH);
        contentPanel.add(jScrollPane, BorderLayout.CENTER);
        contentPanel.add(FilterPanel.filterPanel, BorderLayout.WEST);
        setContentPane(contentPanel);

        this.validate();
        repaint();
    }