¿Cómo hacer que una clase externa se herede de una clase interna?

¿Cómo puedo hacer que algo así funcione?

class Outer {
  int some_member;

  abstract class InnerBase {
    abstract void method();
  }
}

class OuterExtendsInner extends Outer.InnerBase {
  OuterExtendsInner(Outer o) { o.super(); }
  void method() {
    // How do I use some_member here?
    // Writing Outer.this.some_member -> error about Outer not being an enclosing class
    // Writing just some_member -> no-go, either
  }
}

La solución alternativa es tener un método en InnerBase que devuelva Outer.this y llamar A ESO desde las clases derivadas, pero ¿hay otra forma?

Principalmente quiero extender InnerBase desde afuera para tener una mejor organización del código, pero podría mover todas las clases derivadas a Outer.

Respuestas a la pregunta(7)

Su respuesta a la pregunta