enhanced the circular dependency resolution to resolve complex cycles and support reverse lookup on setter injections