private BitSet selectRadialBonds(String str) {
		MolecularModel mm = (MolecularModel) model;
		int n = mm.bonds.size();
		if (n == 0)
			return null;
		BitSet bs = new BitSet(n);
		if ("selected".equalsIgnoreCase(str)) {
			synchronized (mm.bonds.getSynchronizationLock()) {
				for (int i = 0; i < n; i++) {
					if (mm.bonds.get(i).isSelected())
						bs.set(i);
				}
			}
			return bs;
		}
		String strLC = str.toLowerCase();
		if (strLC.indexOf("involve") != -1) {
			str = str.substring(7).trim();
			strLC = str.toLowerCase();
			if (strLC.indexOf("atom") != -1) {
				str = str.substring(4).trim();
				if (selectRbondsInvolving(str, bs)) {
					mm.bonds.setSelectionSet(bs);
					return bs;
				}
			}
		}
		if (selectFromCollection(str, n, bs)) {
			mm.bonds.setSelectionSet(bs);
			return bs;
		}
		out(ScriptEvent.FAILED, "Unrecognized expression: " + str);
		return null;
	}