public function getSite($nb_site)
    {
        $retval = false;

        if (is_object($nb_site) && !($nb_site instanceof CNabuDataObject)) {
            throw new ENabuCoreException(
                ENabuCoreException::ERROR_UNEXPECTED_PARAM_CLASS_TYPE,
                array('$nb_site', get_class($nb_site))
            );
        }

        if ($nb_site !== null) {
            $nb_site_id = nb_getMixedValue($nb_site, NABU_SITE_FIELD_ID);
            if (is_numeric($nb_site_id) || nb_isValidGUID($nb_site_id)) {
                $retval = $this->nb_site_list->getItem($nb_site_id);
                if ($retval instanceof CNabuSite) {
                    if (!$retval->validateCustomer($this)) {
                        $this->nb_site_list->removeItem($retval);
                        $retval = false;
                    } else {
                        $retval->setCustomer($this);
                    }
                }
            } elseif ($nb_site_id !== null && $nb_site_id !== false) {
                throw new ENabuCoreException(
                    ENabuCoreException::ERROR_UNEXPECTED_PARAM_VALUE,
                    array('$nb_site', print_r($nb_site, true))
                );
            }
        }

        return $retval;
    }