Please can someone explain in english what the following code does?
var subCriteria = DetachedCriteria.For<UserLocation>();
subCriteria.SetProjection(Projections.Property("LocationId"))
.Add(Restrictions.Eq("UserId", userId));
return UoW.Session.CreateCriteria(typeof(Location))
.Add(Subqueries.PropertyIn("LocationId", subCriteria)).List<Location>();