@Override public List<metadslx.core.MetaClass> MetaClass_getAllSuperClasses(metadslx.core.MetaClass _this) { ArrayList<MetaClass> result = new ArrayList<>(); for (MetaClass sup : _this.getSuperClasses()) { Collection<MetaClass> allSupers = sup.getAllSuperClasses(); if (!result.contains(sup)) { result.add(sup); } for (MetaClass supSup : allSupers) { if (!result.contains(supSup)) { result.add(supSup); } } } return result; }