public function filterSubjectNames(array $filters)
    {
        foreach (array_keys($this->subjects) as $subjectName) {
            $unset = true;

            foreach ($filters as $filter) {
                if (preg_match(
                    sprintf('{^.*?%s.*?$}', $filter),
                    sprintf('%s::%s', $this->getClass(), $subjectName)
                )) {
                    $unset = false;

                    break;
                }
            }

            if (true === $unset) {
                unset($this->subjects[$subjectName]);
            }
        }
    }