internal void Resolve(SchemaInfo schemaInfo) { if (parentSchema != null) { // already resolved, probably as part of included schema Resolve() process return; } parentSchema = schemaInfo; Table.Resolve(this.Name, true); Table.Rehash(); Table.Fields[0].ReferencedClass = schemaInfo.FindClassByName(Table.Fields[0].References); if (Table.Fields[0].ReferencedClass == null) { throw new SoodaSchemaException("Class " + Table.Fields[0].References + " not found in " + this.Name + "." + Table.Fields[0].Name); } Table.Fields[1].ReferencedClass = schemaInfo.FindClassByName(Table.Fields[1].References); if (Table.Fields[1].ReferencedClass == null) { throw new SoodaSchemaException("Class " + Table.Fields[1].References + " not found in " + this.Name + "." + Table.Fields[1].Name); } foreach (FieldInfo fi in Table.Fields) { fi.ParentRelation = this; } }