61        array $adjacentChunks,
 
   62        \Closure $onCompletion
 
   64        $this->chunk = $chunk !== 
null ? FastChunkSerializer::serializeTerrain($chunk) : 
null;
 
   66        $this->adjacentChunks = igbinary_serialize(array_map(
 
   67            fn(?
Chunk $c) => $c !== 
null ? FastChunkSerializer::serializeTerrain($c) : 
null,
 
   71        $this->
storeLocal(self::TLS_KEY_ON_COMPLETION, $onCompletion);
 
 
   76        if($context === 
null){
 
   77            throw new AssumptionFailedError(
"Generator context should have been initialized before any PopulationTask execution");
 
   80        $chunk = $this->chunk !== 
null ? FastChunkSerializer::deserializeTerrain($this->chunk) : null;
 
   86        $serialChunks = igbinary_unserialize($this->adjacentChunks);
 
   88            function(?
string $serialized) : ?
Chunk{
 
   89                if($serialized === 
null){
 
   92                $chunk = FastChunkSerializer::deserializeTerrain($serialized);
 
   93                $chunk->clearTerrainDirtyFlags(); 
 
  100            $context->getWorldMinY(),
 
  101            $context->getWorldMaxY(),
 
  102            $context->getGenerator(),
 
  109        $this->chunk = FastChunkSerializer::serializeTerrain($chunk);
 
  112        foreach($chunks as $relativeChunkHash => $c){
 
  113            $serialChunks[$relativeChunkHash] = $c->isTerrainDirty() ? FastChunkSerializer::serializeTerrain($c) : null;
 
  115        $this->adjacentChunks = igbinary_serialize($serialChunks) ?? 
throw new AssumptionFailedError(
"igbinary_serialize() returned null");
 
 
  123        $onCompletion = $this->fetchLocal(self::TLS_KEY_ON_COMPLETION);
 
  125        $chunk = $this->chunk !== 
null ?
 
  126            FastChunkSerializer::deserializeTerrain($this->chunk) :
 
  133        $serialAdjacentChunks = igbinary_unserialize($this->adjacentChunks);
 
  134        $adjacentChunks = [];
 
  135        foreach($serialAdjacentChunks as $relativeChunkHash => $c){
 
  137                $adjacentChunks[$relativeChunkHash] = FastChunkSerializer::deserializeTerrain($c);
 
  141        $onCompletion($chunk, $adjacentChunks);