diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java index 162f6e6f5c241bade156b37af14881cb60c5b765..a25f40c1628bb028cc9f9e07fffa45c245c2c5e6 100644 --- a/src/main/java/org/caosdb/server/query/Query.java +++ b/src/main/java/org/caosdb/server/query/Query.java @@ -758,7 +758,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac } this.resultSet = filterEntitiesWithoutRetrievePermission(this.resultSet); - removeInternalEntitiesFromResultSet(); + this.resultSet = removeInternalEntitiesFromResultSet(); fillContainerWithResult(); } catch (final SQLException e) { e.printStackTrace(); @@ -773,13 +773,16 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac } /** There are internal Entities (with ID<100) that should never be returned * */ - private void removeInternalEntitiesFromResultSet() { - for (final IdVersionAclTriplet t : resultSet) { - // ignore internal entities - if (t.id < 100) { - resultSet.remove(t); + private List<IdVersionAclTriplet> removeInternalEntitiesFromResultSet() { + + final List<IdVersionAclTriplet> filtered = new ArrayList<>(); + for (final IdVersionAclTriplet triplet : resultSet) { + + if (triplet.id >= 100) { + filtered.add(triplet); } } + return filtered; } /**