herança composta: como atribuir um campo final no construtor da subclasse que depende do valor 'this' (referência reversa)?

Eu uso classes compostas para agrupar funcionalidades.
Porém, a classe A (com o composto A1), herdada por B (com o composto B1), e um comportamento existente em A1 serão adaptados em B1, mas o a1 final deve ser uma instância B1 para que isso funcione.

Obs .: eu tenhomaneiras para garantir que a instanciação composta ocorra corretamente (apenas por seu parceiro composto).

Não foi possível atribuir um objeto B1 ao campo final a1:

class finalFieldTestFails{
    class A1{
      A1(A a){}
    }

    class A{
      protected final A1 a1;
      A(){
        this.a1 = new A1(this);
      }

      A(A1 a1){
        this.a1 = a1;
      }
    }

    class B1 extends A1{
      B1(B b){
        super(b);
      }
    }

    class B extends A{
        //B(){ super.a1=new B1(this); } //FAIL: cant change final value
        //B(){super(new B1(this));} //FAIL: cant use 'this' or 'super'
    }
}

PS: a resposta não deve envolver truques de segurança de reflexão, se possível.

questionAnswers(2)

yourAnswerToTheQuestion