/** * @return LinkedFlowScope */ public function createChildFlowScope() { $this->frozen = true; if ($this->depth > self::MAX_DEPTH) { if (null === $this->flattened) { $this->flattened = FlatFlowScopeCache::createFromLinkedScope($this); } return new LinkedFlowScope($this->flattened); } return LinkedFlowScope::createFromLinkedFlowScope($this); }