public static function string2class($stringValue) {
    // dirty hack: Psc\Code\Code::camelCase2dash benutzt dies hier: also aufpassen, bei großen Änderungen refactorn
    $stringValue = trim($stringValue);
    
    if ($stringValue === '') {
      return $stringValue;
    }

    if (Preg::match($stringValue, '/^[A-Z0-9]+$/')) {
      return mb_strtolower($stringValue);
    }
    
    $specials = preg_quote(implode("", array('.','@','\\',' ','[',']','(',')')), '/');
    
    $stringValue = Preg::replace(// in
                      $stringValue,
                      // what
                      sprintf('/%s|[%s]/',
                                "(?<=\w)([A-Z]|[0-9])",
                                $specials
                              ),
                       // with
                       '-\\1'
                  );
    $stringValue = mb_strtolower($stringValue);
    
    return $stringValue;
  }