throw e;
LOG.error(e);
    void runJob(JobRecord job) {        Phone[] phones = job.getPhones();        for (int i = 0; i < phones.length && !m_stop; i++) {            Phone phone = phones[i];            Serializable jobId = m_jobContext.schedule("Projection for phone "                    + phone.getSerialNumber());            try {                m_jobContext.start(jobId);                switch (job.getType()) {                case JobRecord.TYPE_PROJECTION:                    phone.generateProfiles();                    phone.restart();                    break;                case JobRecord.TYPE_DEVICE_RESTART:                    phone.restart();                    break;                default:                    break;                }                m_jobContext.success(jobId);            } catch (RestartException re) {                m_jobContext.failure(jobId, null, re);            } catch (RuntimeException e) {                m_jobContext.failure(jobId, null, e);                throw e;            }        }    }