+ return sb;
+}
+
+static void
+mono_string_utf16_to_builder_copy (MonoStringBuilder *sb, gunichar2 *text, size_t len)
+{
+ MonoClass *ac = mono_array_class_get (mono_defaults.char_class, 1);
+ g_assert (ac);
+
+ MonoArray* newArray = mono_array_new (mono_domain_get (), mono_defaults.char_class, len);
+
+ gunichar2 *charDst = (gunichar2 *)newArray->vector;
+ gunichar2 *charSrc = (gunichar2 *)text;
+ memcpy (charDst, charSrc, sizeof (gunichar2) * len);
+
+ MONO_OBJECT_SETREF (sb, chunkChars, newArray);
+ sb->chunkOffset = 0;
+ sb->chunkLength = len;
+
+ return;
+}
+
+MonoStringBuilder *
+mono_string_utf16_to_builder2 (gunichar2 *text)
+{
+ if (!text)
+ return NULL;
+
+ MonoStringBuilder *sb = mono_string_builder_new ();
+ mono_string_utf16_to_builder (sb, text);