Filtrando esto en la advertencia del constructor

Me gustaría evitar (la mayoría de) las advertencias de Netbeans 6.9.1, y tengo un problema con el'Leaking this in constructor' advertencia.

Entiendo el problema, llamando a un método en el constructor y pasando "this"es peligroso, ya que"this"puede que no se haya inicializado completamente.

Fue fácil arreglar la advertencia en mis clases de singleton, porque el constructor es privado y solo se llama desde la misma clase.

Código antiguo (simplificado):

private Singleton() {
  ...
  addWindowFocusListener(this);
}

public static Singleton getInstance() {

  ...
  instance = new Singleton();
  ...
}

Nuevo código (simplificado):

private Singleton() {
  ...
}

public static Singleton getInstance() {

  ...
  instance = new Singleton();
  addWindowFocusListener( instance );
  ...
}

Esta solución no funciona si el constructor es público y se puede llamar desde otras clases. ¿Cómo es posible arreglar el siguiente código:

public class MyClass {

  ...
  List<MyClass> instances = new ArrayList<MyClass>();
  ...

  public MyClass() {
    ...
    instances.add(this);
  }

}

Por supuesto, quiero una solución que no requiera modificar todos mis códigos usando esta clase (por ejemplo, llamando a un método init).

Respuestas a la pregunta(10)

Su respuesta a la pregunta