Passando parametros pro JFreeChart

A classe a seguir é de um Grafico pizza que recebe 2 informações (Titulo e Valor)

[code]import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.PieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.util.Rotation;

public class PieChart3DDemo4 extends ApplicationFrame {

public PieChart3DDemo4(final String title) {

    super(title);
    final PieDataset dataset = createSampleDataset();
    final JFreeChart chart = createChart(dataset);
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(chartPanel);

}

private PieDataset createSampleDataset() {
    
    final DefaultPieDataset result = new DefaultPieDataset();
    result.setValue("opção 1", new Double(43.2));
    result.setValue("opção 2", new Double(10.0));
    result.setValue("opção 3", new Double(17.5));
    result.setValue("opção 4", new Double(32.5));
    result.setValue("opção 5", new Double(1.0));
    return result;
    
}

private JFreeChart createChart(final PieDataset dataset) {
    
    final JFreeChart chart = ChartFactory.createPieChart3D(
        "Pie Chart 3D Demo 4",  // chart title
        dataset,                // data
        true,                   // include legend
        true,
        false
    );

    final PiePlot3D plot = (PiePlot3D) chart.getPlot();
    plot.setStartAngle(290);
    plot.setDirection(Rotation.CLOCKWISE);
    plot.setForegroundAlpha(0.5f);
    plot.setNoDataMessage("No data to display");
    plot.setLabelGenerator(new CustomLabelGenerator());
    return chart;
    
}


public static void main(final String[] args) {

    final PieChart3DDemo4 demo = new PieChart3DDemo4("Pie Chart 3D Demo 4");
    demo.pack();
    RefineryUtilities.centerFrameOnScreen(demo);
    demo.setVisible(true);

}


static class CustomLabelGenerator implements PieSectionLabelGenerator {
    
    public String generateSectionLabel(final PieDataset dataset, final Comparable key) {
        String result = null;    
        if (dataset != null) {
            if (!key.equals("PHP")) {
                result = key.toString();   
            }
        }
        return result;
    }

}

}[/code]

MInha duvida é como posso fazer que o metodo a seguir receba 2 valores passados de outra classe ? um list resolveria recebendo esses 2 valores, sendo uma string e um double ? :?:

[code] private PieDataset createSampleDataset() {

    final DefaultPieDataset result = new DefaultPieDataset();
    result.setValue("opção 1", new Double(43.2));
    result.setValue("opção 2", new Double(10.0));
    result.setValue("opção 3", new Double(17.5));
    result.setValue("opção 4", new Double(32.5));
    result.setValue("opção 5", new Double(1.0));
    return result;
    
}[/code]

Grato desde já ;D