return defaultMachine;
}
Reference<? extends PrologMachineCopy> ref = machineCache.get(rulesId);
if (ref != null) {
PrologMachineCopy pmc = ref.get();
if (pmc != null) {
return pmc;
}
machineCache.remove(rulesId);
ref.enqueue();
}
gc();
PrologMachineCopy pcm = createMachine(project, rulesId);
MachineRef newRef = new MachineRef(rulesId, pcm, dead);
machineCache.put(rulesId, newRef);
return pcm;
}