employee.fillEmployeeHistoric();
    public List run(Integer employeeNumber, Timestamp firstDay, Timestamp lastDay, Locale locale)            throws Exception {        List infoExtraWorkList = null;        List extraWorkList = null;        IEmployee employee = null;        ISuportePersistente sp;        try {            sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentEmployee employeeDAO = sp.getIPersistentEmployee();            // read employee            employee = employeeDAO.readByNumber(employeeNumber);            if (employee == null) {                return null;            }            // read employee historc to found working cost center            employee.getHistoricList().clear();            employee.getHistoricList().addAll(employeeDAO.readHistoricByKeyEmployee(employee.getIdInternal()                                                                                    .intValue()));            employee.fillEmployeeHistoric();            // build extra work for to fill sheet            extraWorkList = buildSheet(employeeNumber, firstDay, lastDay, locale);        } catch (ExcepcaoPersistencia e) {            e.printStackTrace();            throw e;        }        if (extraWorkList != null && extraWorkList.size() > 0) {            infoExtraWorkList = (List) CollectionUtils.collect(extraWorkList, new Transformer() {                public Object transform(Object arg0) {                    IExtraWork extraWork = (IExtraWork) arg0;                    return InfoExtraWork.newInfoFromDomain(extraWork);                }            });            infoExtraWorkList.add(0, InfoEmployeeWithAll.newInfoFromDomain(employee));        } else {            infoExtraWorkList = new ArrayList();            infoExtraWorkList.add(0, InfoEmployeeWithAll.newInfoFromDomain(employee));        }        return infoExtraWorkList;    }