void stereo() throws ScriptException {
		int stereoMode = JmolConstants.STEREO_DOUBLE;
		// see www.usm.maine.edu/~rhodes/0Help/StereoViewing.html
		float degrees = -5;
		boolean degreesSeen = false;
		int[] colors = new int[2];
		int colorpt = 0;
		for (int i = 1; i < statementLength; ++i) {
			switch (statement[i].tok) {
			case Token.on:
				checkLength2();
				stereoMode = JmolConstants.STEREO_DOUBLE;
				break;
			case Token.off:
				checkLength2();
				stereoMode = JmolConstants.STEREO_NONE;
				break;
			case Token.colorRGB:
				if (colorpt > 1)
					badArgumentCount();
				if (!degreesSeen)
					degrees = 3;
				colors[colorpt++] = getArgbParam(i);
				if (colorpt == 1)
					colors[colorpt] = ~colors[0];
				break;
			case Token.integer:
			case Token.decimal:
				degrees = floatParameter(i);
				degreesSeen = true;
				break;
			case Token.identifier:
				String id = (String) statement[i].value;
				if (!degreesSeen)
					degrees = 3;
				if (id.equalsIgnoreCase("redblue")) {
					stereoMode = JmolConstants.STEREO_REDBLUE;
					break;
				}
				if (id.equalsIgnoreCase("redcyan")) {
					stereoMode = JmolConstants.STEREO_REDCYAN;
					break;
				}
				if (id.equalsIgnoreCase("redgreen")) {
					stereoMode = JmolConstants.STEREO_REDGREEN;
					break;
				}
				// fall into
			default:
				booleanOrNumberExpected();
			}
		}
		viewer.setFloatProperty("stereoDegrees", degrees);
		if (colorpt > 0) {
			viewer.setStereoMode(colors, StateManager.escapeColor(colors[0]) + " "
					+ StateManager.escapeColor(colors[1]));
		}
		else {
			viewer.setStereoMode(stereoMode, (String) statement[1].value);
		}
	}