Possível Bug -- classes aninhadas

Meus caros, em uma das N-ésimas “refatorações” de um projeto pessoal meu, entrei num ar franciscano e loguei JDeveloper/Eclipse/Netbeans pro ar e adotei um editor com poucos recursos (Mas tem Destaque!).

Para melhor trabalhar com o código começei fazendo classes aninhadas. Eis o conteudo de Main.java:

/**
 * OpenCafe - Ensaio
 * Estamos testando certos conceitos aqui.
 */
package opencafe;

import java.util.List;
import java.util.Vector;

import static java.lang.System.*;

/**
 * Classe Inicial do Sistema
 */
public class Main
{
	public static void main(String[]args)
	{
		out.println("Opa!");
	}
}

/**
 * Classe que baseia toda e qualquer coisa relevante ao negócio.
 */
abstract class Entidade
{	
	private Long id;
	public void setId(Long id)
	{
		this.id=id;
	}
	public Long getId()
	{
		return id;
	}
}

/**
 * 
 */
abstract class Persistor<E extends Entidade>
{
	public abstract void set(E ent);
	public abstract void delete(E ent);
	public abstract List<E>select(E ent);
}

/**
 * 
 */
class MemoryPersistor<E extends Entidade>extends Persistor
{
	private List<E>dados;
	
	public void set(E ent)
	{
		if(dados==null)
			dados=new Vector<E>();
		dados.add(ent);
	}
	
	public void delete(E ent)
	{
		if(dados!=null)
			dados.remove(ent);
	}
	
	public List<E>select(E ent)
	{
		List<E>resultado=new Vector<E>();
		if(dados!=null)
		{
			// TODO - vamos delegar aos herdeiros a tarefa de seleção.
			doExtraConstraints(ent);
		}
		return resultado;
	}
	
	protected void doExtraConstraints(E ent)
	{
		
	}
}

E essa a saída de erro:

javac "Main.java" (no diteróio: /home/sombriks/variados/opencafe)
Main.java:56: opencafe.MemoryPersistor is not abstract and does not override abstract method select(opencafe.Entidade) in opencafe.Persistor
class MemoryPersistor<E extends Entidade>extends Persistor
^
1 error
Compilation failed.

E se eu não estiver doido não há erro nesta construção! Aliás o bentido método abtrato está “impementado”!

Acho que é bug porque ao fazer uma estrutura de pacotes, ou ao menos separar as classes em arquivos distintos O problema Evapora.

EDIT – O parágrafo acima não é verdade. Todavia continua a dúvida abaixo…

Alguém imagina que diabos eh isso?!

ps: versão da jvm:

sombriks@comander:~/variados$ java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
sombriks@comander:~/variados$ javac -version
javac 1.6.0
sombriks@comander:~/variados$ 

a) Aqui não há classes “aninhadas” (nested).
b) Corrigi seu bug. É só fazer:

 class MemoryPersistor<E extends Entidade>extends Persistor<E>