dealing with rich self referencing schemas