/**
  * Walks down the series definition tree and retrieves all runtime series.
  *
  * @param elSDs
  * @param al
  * @param iLevel
  */
 public final void recursivelyGetSeries(
     EList<SeriesDefinition> elSDs, ArrayList<Series> al, int iLevel, int iLevelToOmit) {
   for (int i = 0; i < elSDs.size(); i++) {
     SeriesDefinition sd = elSDs.get(i);
     if (iLevel != iLevelToOmit) {
       al.addAll(sd.getRunTimeSeries());
     }
     recursivelyGetSeries(sd.getSeriesDefinitions(), al, iLevel + 1, iLevelToOmit);
   }
 }
 /*
  * (non-Javadoc)
  *
  * @see org.eclipse.birt.chart.model.ChartWithoutAxes#getRunTimeSeries()
  */
 public final Series[] getRunTimeSeries() {
   final ArrayList<Series> al = new ArrayList<Series>(8);
   final EList<SeriesDefinition> el = getSeriesDefinitions();
   recursivelyGetSeries(el, al, 0, -1);
   return al.toArray(new Series[al.size()]);
 }