public function getInheritanceColumnValue()
    {
        if (!isset($this->_inheritance_column_value)) {
            $classname = $this->getEntityIdentifier()->classname;
            $classes = get_parents($classname, 'AnDomainEntity');
            $classes[] = $classname;
            //remove the first class because it's parent and
            //in STI (single table inheritane) we don't store the
            //orginal enitty class
            array_shift($classes);
            foreach ($classes as $key => $class) {
                if (isset($this->_class_alias[$class])) {
                    $class = ucfirst($this->_class_alias[$class]);
                }
                if (empty($class)) {
                    unset($classes[$key]);
                } else {
                    $classes[$key] = $class;
                }
            }

            //mak sure ther are no repeating classes. This could happen
            //if some of the entities are extending the default
            $classes = array_unique($classes);

            $identifier = clone $this->getEntityIdentifier();
            $identifier->application = null;
            $this->_inheritance_column_value = new AnDomainDescriptionInheritance($classes, $this->_is_abstract ? null : $identifier);
        }

        return $this->_inheritance_column_value;
    }