internal Type GetTypeFromOtherAssemblies(string typeName) {
Type type = Type.GetType(typeName);
int indexOfComma = typeName.IndexOf(',');
if (type == null) {
string assemblyName = typeName.Substring(indexOfComma + 2);
string actualTypeName = typeName.Substring(0, indexOfComma);
foreach (Assembly assembly in assemblies) {
if (assemblyName.Equals(assembly.FullName)) type = assembly.GetType(actualTypeName);
if (type != null) break;
}
if (type == null) throw new ConversionException("Couldn't deserialise from " + typeName);
}
return type;
}