return generateCharString(expr);
case ReverseRExpression.RANGE:
return generateRangeString((ReverseRangeRExpression) expr);
case ReverseRExpression.GROUP_START:
StringBuilder result = new StringBuilder();
ReverseGroupExpression groupExpression = (ReverseGroupExpression) expr;
List<ReverseRExpression> group = groupExpression.getGroup();
long length = getRandomExpressionLength(groupExpression.getGroupEnd());
for (int i = 0; i < length; i++) {
for (ReverseRExpression expression : group) {
result.append(generate(expression));
}