void executeTask() {
        
        SettingsConnection sConnection = null;        
        try {
            sConnection = m_PersistenceLayer.openSettingsConnection(m_Type);
            //TODO better treat the case when the file dosen't exist 
            //instead of caused a FileNotFoundException 
            if(m_Action == READ) {
                m_Requester.readPersistenceData(sConnection);
            } else if(m_Action == WRITE) {
                m_Requester.writePersistenceData(sConnection);
            }
        } catch(Exception e) {
            if(LOG.isError()) {
                LOG.error("PersistenceTask.executeTask()", e);
            }
            m_Requester.error(new CoreError(e.toString()));
        } finally {
            try {
                if(sConnection != null)
                    sConnection.close();
            } catch(IOException e) {
                m_Requester.error(new CoreError(e.toString()));
                if(LOG.isError()) {
                    LOG.error("PersistenceTask.executeTask()", e.toString());
                }
            }
        }
    }