static function fetchClassList($contentclass_version, $group_id, $asObject = true, $orderByArray = array('name'))
 {
     $versionCond = '';
     $orderByClause = '';
     $group_id = (int) $group_id;
     $classNameSqlFilter = eZContentClassName::sqlEmptyFilter();
     if ($contentclass_version !== null) {
         $contentclass_version = (int) $contentclass_version;
         $versionCond = "AND class_group.contentclass_version='{$contentclass_version}'\n                            AND contentclass.version='{$contentclass_version}'\n";
     }
     if ($orderByArray) {
         foreach (array_keys($orderByArray) as $key) {
             if (strcasecmp($orderByArray[$key], 'name') === 0) {
                 $classNameSqlFilter = eZContentClassName::sqlAppendFilter('contentclass');
                 $orderByArray[$key] = $classNameSqlFilter['orderBy'];
             }
         }
         $orderByClause = 'ORDER BY ' . implode(', ', $orderByArray);
     }
     $db = eZDB::instance();
     $sql = "SELECT contentclass.* {$classNameSqlFilter['nameField']}\n                FROM ezcontentclass  contentclass, ezcontentclass_classgroup class_group {$classNameSqlFilter['from']}\n                WHERE contentclass.id=class_group.contentclass_id\n                {$versionCond}\n                AND class_group.group_id='{$group_id}' {$classNameSqlFilter['where']}\n                {$orderByClause}";
     $rows = $db->arrayQuery($sql);
     return eZPersistentObject::handleRows($rows, "eZContentClass", $asObject);
 }