public static String[] split(String eff) {
		int idxBr = eff.indexOf('[');
		int idxParen = eff.indexOf('(');

		String eff0 = null;
		if ((idxBr >= 0) && (idxBr < idxParen)) {
			int idxRbr = eff.indexOf(']');
			eff0 = eff.substring(0, idxRbr + 1);
			eff = eff.substring(idxRbr);
		}

		eff = eff.replace('(', '\t'); // Replace all chars by spaces
		eff = eff.replace('|', '\t');
		eff = eff.replace(')', '\t');
		String effs[] = eff.split("\t", -1); // Negative number means "use trailing empty as well"

		if (eff0 != null) effs[0] = eff0;

		return effs;
	}