     {
 		var stack:Array = [ lang ];
 		
-        Array.prototype.push.apply(stack, extended_langs);
+        appendElements(stack, extended_langs);
 		
         if (script != "")
             stack.push(script);

        if (region != "")
            stack.push(region);
		
        Array.prototype.push.apply(stack, variants);
		
        for (var i:String in extensions)
        {
			if (extensions.hasOwnProperty(i))
            {
				stack.push(i);
				Array.prototype.push.apply(stack, extensions[i]);
			}
		}
		
        if (privates.length > 0)
        {
			stack.push("x");
			Array.prototype.push.apply(stack, privates);
		}

		return stack.join("_");

                                            lang, script);
		}
	}

	/**
     *  @private
     */
