src/ClassFinder.php
protected function defaultFilter(ReflectionClass $rClass)
    {
        if ($this->implements !== null)
        {
            return $rClass->implementsInterface($this->implements) && !$rClass->isInterface();
        }

        if ($this->extends !== null)
        {
            return $rClass->isSubclassOf($this->extends) && !$rClass->isAbstract();
        }

        return (!$rClass->isInterface() && !$rClass->isAbstract() && !$rClass->isTrait());
    }
protected function defaultFilter(ReflectionClass $rClass)
    {
        if ($this->implements !== null)
        {
            return $rClass->implementsInterface($this->implements) && !$rClass->isInterface();
        }

        if ($this->extends !== null)
        {
            return $rClass->isSubclassOf($this->extends) && !$rClass->isAbstract();
        }

        return (!$rClass->isInterface() && !$rClass->isAbstract() && !$rClass->isTrait());
    }
The default filter run by `runFilter()`.

Further filters by  interface or parent class and also filters
out actual Interfaces, Abstract Classes and Traits.

@param  ReflectionClass $rClass
@return bool