protected JFreeChart createPie3DChart() throws JRException {
    JFreeChart jfreeChart = super.createPie3DChart();

    PiePlot3D piePlot3D = (PiePlot3D) jfreeChart.getPlot();
    if (piePlot3D.getLabelGenerator() != null) {
      piePlot3D.setLabelBackgroundPaint(ChartThemesConstants.TRANSPARENT_PAINT);
      piePlot3D.setLabelShadowPaint(ChartThemesConstants.TRANSPARENT_PAINT);
      piePlot3D.setLabelOutlinePaint(ChartThemesConstants.TRANSPARENT_PAINT);
    }
    piePlot3D.setDarkerSides(true);
    piePlot3D.setDepthFactor(0.07);
    // does not work for 3D
    //		piePlot3D.setShadowXOffset(5);
    //		piePlot3D.setShadowYOffset(10);
    //		piePlot3D.setShadowPaint(new GradientPaint(
    //				0,
    //				getChart().getHeight() / 2,
    //				new Color(41, 120, 162),
    //				0,
    //				getChart().getHeight(),
    //				Color.white)
    //		);

    PieDataset pieDataset = piePlot3D.getDataset();
    if (pieDataset != null) {
      for (int i = 0; i < pieDataset.getItemCount(); i++) {
        piePlot3D.setSectionOutlinePaint(
            pieDataset.getKey(i), ChartThemesConstants.TRANSPARENT_PAINT);
      }
    }
    piePlot3D.setCircular(true);
    return jfreeChart;
  }