if (d == null) {
throw new ProcessNotFoundException(pid.toString());
}
ScriptProcess result = createScriptProcess();
result.setPid(UUID.fromString(d.pid));
if (d.waitingPid != null) {
result.setWaiterPid(UUID.fromString(d.waitingPid));
}
result.setSource(new String(d.source, ScriptusConfig.CHARSET));
result.setSourceName(d.sourceId);
result.setUserId(d.userId);
result.setArgs(d.args);
result.setTransport(TransportType.valueOf(d.transport));
{
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(d.script_state));
result.setCompiled((Function) in.readObject());
result.setGlobalScope((ScriptableObject) in.readObject());
result.setContinuation(in.readObject());
}
result.setState(SerializableUtils.deserialiseObject(d.state));
result.setOwner(d.owner);
result.setRoot(d.isRoot);
result.setVersion(d.version);
result.setAlive(d.isAlive);
return result;
} catch (ScriptusRuntimeException e) {
throw e;