void lcaoCartoon() throws ScriptException {
		viewer.loadShape(JmolConstants.SHAPE_LCAOCARTOON);
		viewer.setShapeProperty(JmolConstants.SHAPE_LCAOCARTOON, "init", null);
		if (statementLength == 1) {
			viewer.setShapeProperty(JmolConstants.SHAPE_LCAOCARTOON, "lcaoID", null);
			return;
		}
		for (int i = 1; i < statementLength; i++) {
			Token token = statement[i];
			int tok = token.tok;
			String propertyName = null;
			Object propertyValue = null;
			switch (tok) {
			case Token.center:
				// serialized lcaoCartoon in isosurface format
				isosurface(JmolConstants.SHAPE_LCAOCARTOON);
				return;
			case Token.on:
				propertyName = "on";
				break;
			case Token.off:
				propertyName = "off";
				break;
			case Token.delete:
				propertyName = "delete";
				break;
			case Token.integer:
			case Token.decimal:
				propertyName = "scale";
				propertyValue = new Float(floatParameter(++i));
				break;
			case Token.expressionBegin:
				propertyName = "select";
				propertyValue = expression(statement, ++i);
				i = pcLastExpressionInstruction;
				break;
			case Token.color:
				if (++i < statementLength && statement[i].tok == Token.colorRGB) {
					viewer.setShapeProperty(JmolConstants.SHAPE_LCAOCARTOON, "colorRGB", new Integer(getArgbParam(i)));
					viewer.setShapeProperty(JmolConstants.SHAPE_LCAOCARTOON, "colorRGB", new Integer(
							getArgbParam(i + 1 < statementLength && statement[i + 1].tok == Token.colorRGB ? ++i : i)));
					continue;
				}
				invalidArgument();
			case Token.string:
				propertyName = "create";
				propertyValue = stringParameter(i);
				if (i + 1 < statementLength && statement[i + 1].tok == Token.identifier
						&& ((String) (statement[i + 1].value)).equalsIgnoreCase("molecular")) {
					viewer.setShapeProperty(JmolConstants.SHAPE_LCAOCARTOON, "molecular", null);
				}
				break;
			case Token.select:
				propertyName = "selectType";
				propertyValue = stringParameter(++i);
				break;
			case Token.identifier:
				String str = (String) token.value;
				if (str.equalsIgnoreCase("SCALE")) {
					propertyName = "scale";
					propertyValue = new Float(floatParameter(++i));
					break;
				}
				if (str.equalsIgnoreCase("CREATE")) {
					propertyName = "create";
					propertyValue = stringParameter(++i);
					break;
				}
				propertyValue = str;
			case Token.all:
				propertyName = "lcaoID";
				break;
			}
			if (propertyName == null)
				invalidArgument(i, token.toString());
			viewer.setShapeProperty(JmolConstants.SHAPE_LCAOCARTOON, propertyName, propertyValue);
		}
	}