void restore() throws ScriptException {
		if (statementLength > 1) {
			String saveName = parameterAsString(2);
			switch (statement[1].tok) {
			case Token.orientation:
				float timeSeconds = (statementLength > 3 ? floatParameter(3) : 0);
				viewer.restoreOrientation(saveName, timeSeconds);
				return;
			case Token.bonds:
				viewer.restoreBonds(saveName);
				return;
			case Token.state:
				String state = viewer.getSavedState(saveName);
				if (state == null)
					invalidArgument();
				runScript(state);
				return;
			case Token.identifier:
				if (((String) statement[1].value).equalsIgnoreCase("selection")) {
					viewer.restoreSelection(saveName);
					return;
				}
			}
		}
		evalError(GT._("restore what?") + " bonds? orientation? selection?");
	}