public function leaveNode(Node $node)
    {
        switch (get_class($node)) {
            case Namespace_::class:
            case Class_::class:
            case ClassMethod::class:
            case Trait_::class:
            case PropertyProperty::class:
            case ClassConst::class:
            case Const_::class:
            case Interface_::class:
            case Function_::class:
                if (!$this->parts->isEmpty()) {
                    $this->parts->pop();
                }
                break;
        }
    }