ORMLite: objeto DAO interno é nulo

Estou usando o ORMLite, tentando usar o ForeignCollectionKey, mas recebi o seguinte erro:

O objeto DAO interno é nulo. LazyCollections não pode ser usado se tiverem sido desserializados.

Eu tenho meu objeto chamado Zone:

public class Zone implements Serializable {

    private static final long serialVersionUID = 1L;
    public static final String ZONE_ID = "id"; 
    public static final String ZONE_PARENT_ID = "parentZoneId";

    @DatabaseField(generatedId=true)
    private int id;
    @DatabaseField()
    String name;
    @DatabaseField(foreign=true, foreignAutoRefresh = true)
    Zone parentZone;

    @ForeignCollectionField(foreignFieldName = "parentZone", eager = true)
    private ForeignCollection<Zone> zoneChild;

    public Zone() {
        // TODO Auto-generated constructor stub
    }
    public ForeignCollection<Zone> getZoneChild() {
        return zoneChild;
    }
    public void setZoneChild(ForeignCollection<Zone> zoneChild) {
        this.zoneChild = zoneChild;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

Em uma classe eu estou fazendo um método recursivo para obter todos os meus objetos filho de zona:

public void getZone(Zone zone, Dao<Zone, Integer> tempZoneDao){
    ZoneListEntity zoneEntity = new ZoneListEntity();
    zoneEntity.setName(zone.getName());
    zoneEntity.setNiveau(0);
    zoneEntity.setZone(zone);
    mainZoneList.add(zoneEntity);

    List<Zone> childList = new ArrayList<Zone>(zone.getZoneChild());
    //set rootZone's children as ZoneListEntity
    for(Zone currentZone : childList){
        ZoneListEntity zoneGroup = new ZoneListEntity();
        zoneGroup.setName(currentZone.getName());
        zoneGroup.setZone(currentZone);
        System.out.println("Zone : "+currentZone.getName());
        getZone(currentZone, tempZoneDao);
    }
}

Quando estou entrando pela primeira vez na minhagetZone, Tudo vai bem. Então quando eu loopgetZone o aplicativo trava tentando acessar a zona filho:

List<Zone> childList = new ArrayList<Zone>(zone.getZoneChild());

Você tem alguma ideia ? A construção do meu modelo está certa? obrigado

questionAnswers(2)

yourAnswerToTheQuestion