static void parse(String expression, IntArrayList indices, int state) { Matcher matcher = pattern.matcher(expression); String singleIndex; while (matcher.find()) { singleIndex = matcher.group(); indices.add(CC.getIndexConverterManager().getCode(singleIndex) | state); } String remainder = matcher.replaceAll(""); remainder = remainder.replaceAll("[\\{\\}\\s]*", ""); if (remainder.length() != 0) throw new ParserException("Incorrect indices: " + expression); } }