Take these two Java classes:
class User {
   final Inventory inventory;
   User (Inventory inv) {
       inventory = inv;
   }
}
class Inventory {
   final User owner;
   Inventory (User own) {
       owner = own;
   }
}
Is there any way without using reflection* to pull this off? I don't actually expect it is, but it can't hurt to ask.
Update: Since in bytecode construction has two steps (1. allocate object, 2. call constructor**) could this be (ab)used to do this, with handwritten bytecode or a custom compiler? I'm talking about performing step 1 for both objects first, then step 2 for both, using references from step 1. Of course something like that would be rather cumbersome, and this part of the question is academic.
(* Because reflection may give trouble with a security manager)
(** Says my limited knowledge)
 
     
     
     
     
     
     
    