public function getDiscriminators($exclude = array())
    {

        // prefilter discriminators by subclasses
        $subclasses = $this->meta->subClasses;

        $discriminators = array_filter(
            $this->meta->discriminatorMap,
            function($class) use ($subclasses)
            {
                return in_array($class, $subclasses);
            }
        );


        // filter discriminators by exlude array
        return array_diff(array_keys($discriminators), $exclude);
    }