protected JRExpression getLineExpression(String line) { JRExpression expression = null; int exprIdStart = line.indexOf(SOURCE_EXPRESSION_ID_START); if (exprIdStart >= 0) { exprIdStart += SOURCE_EXPRESSION_ID_START_LENGTH; int exprIdEnd = line.indexOf('$', exprIdStart); if (exprIdEnd >= 0) { try { int exprId = Integer.parseInt(line.substring(exprIdStart, exprIdEnd)); expression = sourceTask.getExpression(exprId); } catch (NumberFormatException e) { // ignore } } } return expression; }