// get layer
Layer layer = map.getLayers().getLayerByName("Cities");
Renderer renderer = layer.getRenderer();

// add new RendererItem
RendererItem rItem =  renderer.addItem();

// select locations by the expression (see Appendix A)
rItem.setExpr( "Capital = \"Y\"");

// set font attributes
TextFont font = rItem.getFont();
int color = new Color(0, 0, 255).getRGB(); // blue
font.setColor( color);
font.setSize( 10);
font.setBold(true);
rItem.setFont( font);

rItem.setFontMask( RendererItemAttribute.rmFontColor |
                   RendererItemAttribute.rmFontSize |
                   RendererItemAttribute.rmFontBold);

// set symbol attributes
Symbol symbol = rItem.getSymbol();
symbol.setSymbolStyle("std:circle"); // see Appendix D
color = new Color(255, 0, 0).getRGB(); // red
symbol.setColor( Symbol.rmSymbolColor, color);
symbol.setSize( 16);

rItem.setSymbol( symbol);

rItem.setSymbolMask( RendererItemAttribute.rmSymbolColor_1 |
                     RendererItemAttribute.rmSymbolStyle |
                     RendererItemAttribute.rmSymbolSize);
                     
rItem.setMinMaxZoomLevel( RendererItemAttribute.rmMinZoomLevel,
                          RendererItemAttribute.rmMaxZoomLevel);

// add new RendererItem
RendererItem rItem2 =  renderer.addItem();

// select all records except the records specified above
rItem2.setExpr( "Capital <> \"Y\""); // see Appendix A

// hide symbols and labels
Symbol symbol2 = rItem2.getSymbol();
symbol2.setSymbolStyle("std:null"); // see Appendix D

rItem2.setLabelVisible( false);
rItem2.setSymbolMask( RendererItemAttribute.rmSymbolStyle);

rItem2.setMinMaxZoomLevel( RendererItemAttribute.rmMinZoomLevel,
                           RendererItemAttribute.rmMaxZoomLevel);