Take these two Java classes:
class User { final Inventory inventory; User (Inventory inv) { inventory = inv; } } class Inventory { final User
If you are only interested in JVM bytecode and don't care about coding in Java specifically, perhaps using Scala or Clojure could help. You'll need some kind of letrec machinery.
letrec