private String evaluateWhichRBondFunction(final String clause) {
		if (clause == null || clause.equals(""))
			return null;
		if (!(model instanceof MolecularModel))
			return null;
		MolecularModel mm = (MolecularModel) model;
		int nrb = mm.bonds.size();
		if (nrb <= 0)
			return null;
		int i = clause.indexOf("(");
		int j = clause.lastIndexOf(")");
		if (i == -1 || j == -1) {
			out(ScriptEvent.FAILED, "function must be enclosed within parenthesis: " + clause);
			return null;
		}
		String s = clause.substring(i + 1, j);
		String[] t = s.split(",");
		int n = t.length;
		switch (n) {
		case 1:
			float[] x = parseArray(1, t);
			if (x != null) {
				Atom a = mm.atom[Math.round(x[0])];
				List<RadialBond> list = mm.bonds.getBonds(a);
				if (list.isEmpty())
					return null;
				return "" + list.get(0).getIndex();
			}
			break;
		case 2:
			x = parseArray(2, t);
			if (x != null) {
				Atom a = mm.atom[Math.round(x[0])];
				Atom b = mm.atom[Math.round(x[1])];
				RadialBond rb = mm.bonds.getBond(a, b);
				if (rb == null)
					return null;
				return "" + rb.getIndex();
			}
			break;
		default:
			out(ScriptEvent.FAILED, "argument error: " + clause);
			return null;
		}
		return null;
	}