private function load()
    {
        if ($this->isVirgin()) {
            throw new \BadMethodCallException(
                get_class($this) . '#' . $this->getUid()
                . ': Please call setData() directly after instantiation first.',
                1331489395
            );
        }

        if ($this->isGhost()) {
            if (!$this->hasLoadCallBack()) {
                throw new \BadMethodCallException(
                    'Ghosts need a load callback function before their data can be accessed.',
                    1331489414
                );
            }

            $this->markAsLoading();
            call_user_func($this->loadCallback, $this);
        }
    }