Como criar uma classe externa herdada de uma classe interna?

Como posso fazer algo assim funcionar:

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
  }
}

A solução alternativa é ter um método no InnerBase que retorne Outer.this e chame ISSO de classes derivadas, mas existe outra maneir

Quero principalmente estender o InnerBase de fora para ter uma melhor organização do código, mas poderia mover todas as classes derivadas para o Exterio

questionAnswers(7)

yourAnswerToTheQuestion