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;
 }