protected function _classesImplements($names, array $interfaces, $must_implement_all = false, array &$logs = array())
    {
        if (!is_array($names)) {
            $names = array($names);
        }
        $ok = false;
        foreach ($names as $_name) {
            foreach ($interfaces as $_interface) {
                if (interface_exists($_interface)) {
                    if (CodeHelper::impelementsInterface($_name, $_interface)) {
                        $ok = true;
                    } elseif ($must_implement_all) {
                        $ok = false;
                    }
                } else {
                    $logs[] = $this->_getErrorMessage('Interface "%s" not found!', $_interface);
                }
            }
        }
        return $ok;
    }