*/
private int parseGroup(ReverseGroupExpression groupExpression, List<ReverseRExpression> expressions) {
List<ReverseRExpression> group = new ArrayList<ReverseRExpression>();
int size = expressions.size();
for (int index = 0; index < size; index++) {
ReverseRExpression reverseRExpression = expressions.get(index);
if (reverseRExpression.getType() == ReverseGroupExpression.GROUP_END) {
expressions.remove(index);
if (groupExpression != null) {
groupExpression.setGroupEnd((ReverseGroupExpression) reverseRExpression);
}
break;
}
if (reverseRExpression.getType() == ReverseGroupExpression.GROUP_START
&& ((ReverseGroupExpression)reverseRExpression).getGroup() == null) {
size = parseGroup((ReverseGroupExpression) reverseRExpression, expressions.subList(index + 1, size));
} else if (groupExpression != null) {
group.add(reverseRExpression);
expressions.remove(index--);