l = axPrimaryOrthogonal.getLabel(); t = l.getCaption(); fd = t.getFont();
    final void buildAxes() throws UnexpectedInputException, UndefinedValueException, ValidationException    {        final Axis[] axa = cwa.getPrimaryBaseAxes();        final Axis axPrimaryBase = axa[0]; // NOTE: FOR REL 1 AXIS RENDERS, WE SUPPORT A SINGLE PRIMARY BASE AXIS ONLY        validateAxis(axPrimaryBase);        final Axis axPrimaryOrthogonal = cwa.getPrimaryOrthogonalAxis(axPrimaryBase);        validateAxis(axPrimaryOrthogonal);        final Axis[] axaOverlayOrthogonal = cwa.getOrthogonalAxes(axPrimaryBase, false);        aax = new AllAxes(cwa.getPlot().getClientArea().getInsets().scaledInstance(dPointToPixel)); // CONVERSION        insCA = aax.getInsets();        SeriesDefinition sdBase = null;        // ONLY SUPPORT 1 BASE AXIS        if (!axPrimaryBase.getSeriesDefinitions().isEmpty())        {            // OK TO ASSUME THAT 1 BASE SERIES DEFINITION EXISTS            sdBase = (SeriesDefinition) axPrimaryBase.getSeriesDefinitions().get(0);            final ArrayList alRuntimeBaseSeries = sdBase.getRunTimeSeries();            if (alRuntimeBaseSeries != null)            {	            // OK TO ASSUME THAT 1 BASE RUNTIME SERIES EXISTS	            seBaseRuntime = (Series) sdBase.getRunTimeSeries().get(0);            }        }                aax.swapAxes(cwa.isTransposed());        Label l;        IntersectionValue iv = null;        AxisOrigin ao;        // SETUP THE PRIMARY BASE-AXIS PROPERTIES AND ITS SCALE        final OneAxis oaxPrimaryBase = new OneAxis(axPrimaryBase);        l = axPrimaryBase.getLabel();        Text t = l.getCaption();        FontDefinition fd = t.getFont();        oaxPrimaryBase.set(getOrientation(IConstants.BASE), transposeLabelPosition(IConstants.BASE,            getLabelPosition(axPrimaryBase.getLabelPosition())), transposeLabelPosition(IConstants.BASE,            getLabelPosition(axPrimaryBase.getTitlePosition())), axPrimaryBase.isSetCategoryAxis()            && axPrimaryBase.isCategoryAxis());        oaxPrimaryBase.setGridProperties(axPrimaryBase.getMajorGrid().getLineAttributes(), axPrimaryBase.getMinorGrid()            .getLineAttributes(), transposeTickStyle(IConstants.BASE, getTickStyle(axPrimaryBase, MAJOR)),            transposeTickStyle(IConstants.BASE, getTickStyle(axPrimaryBase, MINOR)), axPrimaryBase.getScale()                .getMinorGridsPerUnit());        if (cwa.isTransposed())        {            // TRANSPOSE ROTATION OF LABELS AS APPROPRIATE            final Label laAxisLabels = (Label) EcoreUtil.copy(axPrimaryBase.getLabel());            final Label laAxisTitle = (Label) EcoreUtil.copy(axPrimaryBase.getTitle());            laAxisLabels.getCaption().getFont().setRotation(                transposeAngle(laAxisLabels.getCaption().getFont().getRotation()));            laAxisTitle.getCaption().getFont().setRotation(                transposeAngle(laAxisTitle.getCaption().getFont().getRotation()));            oaxPrimaryBase.set(laAxisLabels, laAxisTitle); // ASSOCIATE FONT,            // ETC        }        else        {            oaxPrimaryBase.set(axPrimaryBase.getLabel(), axPrimaryBase.getTitle()); // ASSOCIATE FONT        }        oaxPrimaryBase.set(getIntersection(axPrimaryBase));        oaxPrimaryBase.set(axPrimaryBase.getLineAttributes());        aax.definePrimary(oaxPrimaryBase); // ADD TO AXIS SET        // SETUP THE PRIMARY ORTHOGONAL-AXIS PROPERTIES AND ITS SCALE        final OneAxis oaxPrimaryOrthogonal = new OneAxis(axPrimaryOrthogonal);        l = axPrimaryOrthogonal.getLabel();        t = l.getCaption();        fd = t.getFont();        oaxPrimaryOrthogonal.set(getOrientation(IConstants.ORTHOGONAL), transposeLabelPosition(IConstants.ORTHOGONAL,            getLabelPosition(axPrimaryOrthogonal.getLabelPosition())), transposeLabelPosition(IConstants.ORTHOGONAL,            getLabelPosition(axPrimaryOrthogonal.getTitlePosition())), axPrimaryOrthogonal.isSetCategoryAxis()            && axPrimaryOrthogonal.isCategoryAxis());        oaxPrimaryOrthogonal.setGridProperties(axPrimaryOrthogonal.getMajorGrid().getLineAttributes(),            axPrimaryOrthogonal.getMinorGrid().getLineAttributes(), transposeTickStyle(IConstants.ORTHOGONAL,                getTickStyle(axPrimaryOrthogonal, MAJOR)), transposeTickStyle(IConstants.ORTHOGONAL, getTickStyle(                axPrimaryOrthogonal, MINOR)), axPrimaryOrthogonal.getScale().getMinorGridsPerUnit());        if (cwa.isTransposed())        {            // TRANSPOSE ROTATION OF LABELS AS APPROPRIATE            final Label laAxisLabels = (Label) EcoreUtil.copy(axPrimaryOrthogonal.getLabel());            final Label laAxisTitle = (Label) EcoreUtil.copy(axPrimaryOrthogonal.getTitle());            laAxisLabels.getCaption().getFont().setRotation(                transposeAngle(laAxisLabels.getCaption().getFont().getRotation()));            laAxisTitle.getCaption().getFont().setRotation(                transposeAngle(laAxisTitle.getCaption().getFont().getRotation()));            oaxPrimaryOrthogonal.set(laAxisLabels, laAxisTitle); // ASSOCIATE            // FONT, ETC        }        else        {            oaxPrimaryOrthogonal.set(axPrimaryOrthogonal.getLabel(), axPrimaryOrthogonal.getTitle()); // ASSOCIATE FONT,            // ETC        }        oaxPrimaryOrthogonal.set(getIntersection(axPrimaryOrthogonal));        oaxPrimaryOrthogonal.set(axPrimaryOrthogonal.getLineAttributes());        aax.definePrimary(oaxPrimaryOrthogonal); // ADD TO AXIS SET        // SETUP THE OVERLAY AXES        aax.initOverlays(axaOverlayOrthogonal.length, getOrientation(IConstants.ORTHOGONAL));        OneAxis oaxOverlayOrthogonal;        for (int i = 0; i < axaOverlayOrthogonal.length; i++)        {            validateAxis(axaOverlayOrthogonal[i]);            l = axaOverlayOrthogonal[i].getLabel();            t = l.getCaption();            fd = t.getFont();            oaxOverlayOrthogonal = new OneAxis(axaOverlayOrthogonal[i]);            oaxOverlayOrthogonal.set(getOrientation(IConstants.ORTHOGONAL), transposeLabelPosition(                IConstants.ORTHOGONAL, getLabelPosition(axaOverlayOrthogonal[i].getLabelPosition())),                transposeLabelPosition(IConstants.ORTHOGONAL, getLabelPosition(axaOverlayOrthogonal[i]                    .getTitlePosition())), axaOverlayOrthogonal[i].isSetCategoryAxis()                    && axaOverlayOrthogonal[i].isCategoryAxis());            oaxOverlayOrthogonal.setGridProperties(axaOverlayOrthogonal[i].getMajorGrid().getLineAttributes(),                axaOverlayOrthogonal[i].getMinorGrid().getLineAttributes(), transposeTickStyle(IConstants.ORTHOGONAL,                    getTickStyle(axaOverlayOrthogonal[i], MAJOR)), transposeTickStyle(IConstants.ORTHOGONAL,                    getTickStyle(axaOverlayOrthogonal[i], MINOR)), axaOverlayOrthogonal[i].getScale()                    .getMinorGridsPerUnit());            if (cwa.isTransposed())            {                // TRANSPOSE ROTATION OF LABELS AS APPROPRIATE                final Label laAxisLabels = (Label) EcoreUtil.copy(axaOverlayOrthogonal[i].getLabel());                final Label laAxisTitle = (Label) EcoreUtil.copy(axaOverlayOrthogonal[i].getTitle());                laAxisLabels.getCaption().getFont().setRotation(                    transposeAngle(laAxisLabels.getCaption().getFont().getRotation()));                laAxisTitle.getCaption().getFont().setRotation(                    transposeAngle(laAxisTitle.getCaption().getFont().getRotation()));                oaxOverlayOrthogonal.set(laAxisLabels, laAxisTitle); // ASSOCIATE                // FONT,                // ETC            }            else            {                oaxOverlayOrthogonal.set(axaOverlayOrthogonal[i].getLabel(), axaOverlayOrthogonal[i].getTitle());            }            oaxOverlayOrthogonal.set(axaOverlayOrthogonal[i].getLineAttributes());            oaxOverlayOrthogonal.set(getIntersection(axaOverlayOrthogonal[i]));            aax.defineOverlay(i, oaxOverlayOrthogonal);        }        // BUILD STACKED STRUCTURE (FOR STACKED SERIES) ASSOCIATED WITH EACH        // ORTHOGONAL AXIS        ssl = StackedSeriesLookup.create(cwa);    }