public TableJoin GetTableJoinForPropertyPath(string propertyPath) { ArrayList propertyMaps = propertyPathTraverser.GetPathPropertyMaps(propertyPath); ArrayList joins = tableJoins; TableJoin theTableJoin = null; foreach (IPropertyMap propertyMap in propertyMaps) { theTableJoin = null; foreach (TableJoin tableJoin in joins) { if (tableJoin.PropertyMap == propertyMap) { theTableJoin = tableJoin; break; } } if (theTableJoin == null) { return(null); } joins = theTableJoin.Children; } return(theTableJoin); }