private Joblet getOrCreateLocalJoblet(DeploymentId deploymentId, INCServiceContext appCtx, byte[] acgBytes) throws HyracksException { Map<JobId, Joblet> jobletMap = ncs.getJobletMap(); Joblet ji = jobletMap.get(jobId); if (ji == null) { ActivityClusterGraph acg = (deployedJobSpecId != null) ? ncs.getActivityClusterGraph(deployedJobSpecId) : (ActivityClusterGraph) DeploymentUtils.deserialize(acgBytes, deploymentId, appCtx); ncs.createOrGetJobParameterByteStore(jobId).setParameters(jobParameters); IJobletEventListenerFactory listenerFactory = acg.getJobletEventListenerFactory(); if (listenerFactory != null) { if (deployedJobSpecId != null) { listenerFactory = acg.getJobletEventListenerFactory().copyFactory(); } listenerFactory.updateListenerJobParameters(ncs.createOrGetJobParameterByteStore(jobId)); } ji = new Joblet(ncs, deploymentId, jobId, appCtx, acg, listenerFactory, jobStartTime); jobletMap.put(jobId, ji); } return ji; }