public List<GdlRule> flatten() { // Find universe and initial domains for (Gdl gdl : description) { initializeDomains(gdl); } for (Domain d : domains.values()) d.buildIndices(); // Compute the actual domains of everything updateDomains(); // printDomains(); // printDomainRefs(); return getAllInstantiations(); }