protected function _inheritanceTree($description)
    {
        $inheritance = '';

        if ($description instanceof AnServiceIdentifier ||
                (is_string($description) && strpos($description, '.') && !strpos($description, ','))
                ) {
            $description = AnService::get($description)->getRepository()->getDescription();
        } elseif ($description instanceof AnDomainRepositoryAbstract) {
            $description = $description->getDescription();
        }

        if ($description instanceof AnDomainDescriptionAbstract) {
            $inheritance = (string) $description->getInheritanceColumnValue();

            if ($description->isAbstract()) {
                $inheritance .= '%';
            }
        } elseif (is_string($description)) {
            $inheritance = strpos($description, '.') ? $description : $description.'%';
        }

        return $inheritance;
    }