autoStringsIndex Stringses_to_StringsIndex (Strings me, Strings classes) {
	try {
		autoStringsIndex tmp = Strings_to_StringsIndex (classes);
		long numberOfClasses = tmp -> classes -> size;

		autoStringsIndex him = StringsIndex_create (my numberOfStrings);
		for (long i = 1; i <= numberOfClasses; i++) {
			SimpleString t = (SimpleString) tmp -> classes -> item[i];
			autoSimpleString t2 = Data_copy (t);
			Collection_addItem_move (his classes.peek(), t2.move());
		}
		for (long j = 1; j <= my numberOfStrings; j++) {
			long index = 0;
			char32 *stringsj = my strings[j];
			for (long i = 1; i <= numberOfClasses; i++) {
				SimpleString ss = (SimpleString) his classes -> item[i];
				if (Melder_cmp (stringsj, ss -> string) == 0) {
					index = i;
					break;
				}
			}
			his classIndex[j] = index;
		}
		return him;
	} catch (MelderError) {
		Melder_throw (me, U": no StringsIndex created.");
	}
}