+ // This method is templated, so it can be used with other derivations of ToscaEntity in the future,
+ // if multi-version are desired.
+
+ protected <T extends ToscaEntity> boolean isMultiVersion(Map<String, T> aggEntity,
+ Map<String, T> singleEntity) {
+ if (aggEntity == null || singleEntity == null) {
+ return false;
+ }
+
+ // There is a multi-version entity if both key sets have the same
+ // entity name but different version.
+
+ return
+ Sets.intersection(aggEntity.keySet(), singleEntity.keySet())
+ .stream()
+ .anyMatch(e -> !Objects.equals(aggEntity.get(e).getVersion(), singleEntity.get(e).getVersion()));
+ }
+