void restrict() throws ScriptException {
		select();
		BitSet bsSelected = copyBitSet(viewer.getSelectionSet());
		viewer.invertSelection();
		if (bsSubset != null) {
			BitSet bs = new BitSet();
			bs.or(bsSelected);
			bs.and(bsSubset);
			viewer.setSelectionSet(bs);
		}
		boolean bondmode = viewer.getBondSelectionModeOr();
		viewer.setBooleanProperty("bondModeOr", true);
		viewer.setShapeSize(JmolConstants.SHAPE_STICKS, 0);

		// also need to turn off backbones, ribbons, strands, cartoons
		for (int shapeType = JmolConstants.SHAPE_MIN_SELECTION_INDEPENDENT; --shapeType >= 0;)
			if (shapeType != JmolConstants.SHAPE_MEASURES)
				viewer.setShapeSize(shapeType, 0);
		viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, "delete", null);
		viewer.setLabel(null);

		viewer.setBooleanProperty("bondModeOr", bondmode);
		viewer.setSelectionSet(bsSelected);
	}