private void applyEvent(GridEvent event) { String fullJobId = event.getJobId(); GridJob job = state.getJobByFullId(fullJobId); // Update the run state state.applyEvent(event); // Update the actor state switch (event.getType()) { case SUB: if (job == null) { job = new GridJob(event.getSnapshotJob()); } applySub(job); break; case START: if (job == null) { log.error("Cannot start null job"); } else { applyStart(job); } break; case END: if (job == null) { log.error("Cannot end null job"); } else { applyEnd(job, event.getOffset()); } break; default: log.warn("Unrecognized event type: {}", event.getType()); break; } }