public function finish($multiplePointLabel = null)
    {
        $this->finishLastPoint();

        if($multiplePointLabel)
        {
            if( ! isset($this->multiPointStack[$multiplePointLabel]))
            	throw new \InvalidArgumentException("Can't finish multiple point '" . $multiplePointLabel . "'.");

            $point = $this->multiPointStack[$multiplePointLabel];
            unset($this->multiPointStack[$multiplePointLabel]);

            if($point->isActive()) {
                // Finish point
                $point->finish();

                // Trigger presenter listener
                $this->presenter->finishPointTrigger($point);
            }

            //
            $this->pointStack[] = $point;

        }
    }