public static <V> Fiber<V> unparkDeserialized(Fiber<V> f, FiberScheduler scheduler) {
f.record(1, "Fiber", "unparkDeserialized", "Deserialized fiber %s", f);
final Thread currentThread = Thread.currentThread();
f.fiberRef = new DummyRunnable(f);
f.fid = nextFiberId();
f.scheduler = scheduler;
f.task = scheduler.newFiberTask(f);
f.task.setState(FiberTask.PARKED);
if (USE_VAL_FOR_RESULT )
f.result = new Val<V>();
f.contextClassLoader = ThreadAccess.getContextClassLoader(currentThread);
if (MAINTAIN_ACCESS_CONTROL_CONTEXT)
f.inheritedAccessControlContext = AccessController.getContext();
f.record(1, "Fiber", "unparkDeserialized", "Unparking deserialized fiber %s", f);
f.unpark(SERIALIZER_BLOCKER);
return f;
}