boolean (BasicValue curr, BasicValue prev) { if (curr == prev) return true; if (curr.getClass() == prev.getClass()) { if (curr instanceof CallResultValue && prev instanceof CallResultValue) { List<EKey> keys1 = ((CallResultValue)prev).inters; List<EKey> keys2 = ((CallResultValue)curr).inters; return keys1.size() == keys2.size() && keys1.containsAll(keys2); } else return true; } else return false; }