CellStyle duplicateStyle(Cell cell, String key) {
   if (rowStyles.containsKey(key)) {
     return (CellStyle) rowStyles.get(key);
   }
   CellStyle newStyle =
       Util.duplicateStyle(
           cell.getRow().getSheet().getPoiWorkbook(), cell.getPoiCell().getCellStyle());
   rowStyles.put(key, newStyle);
   return newStyle;
 }
 public void processCell(final Cell cell, final Map namedCells) {
   if (cell.getExpressions().size() > 0) {
     Expression expression = (Expression) cell.getExpressions().get(0);
     Property property = (Property) expression.getProperties().get(0);
     if (property != null
         && property.getBeanName() != null
         && property.getBeanName().indexOf(beanName) >= 0
         && property.getBean() instanceof Employee) {
       Employee employee = (Employee) property.getBean();
       if (employee.getPayment().doubleValue() >= 2000) {
         org.apache.poi.ss.usermodel.Cell hssfCell = cell.getPoiCell();
         CellStyle newStyle = duplicateStyle(cell, property.getPropertyNameAfterLastDot());
         newStyle.setFillForegroundColor(HSSFColor.RED.index);
         newStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
         hssfCell.setCellStyle(newStyle);
       }
     }
   }
 }