public void check(final Validation validation, SimplePhysicalEntity spe)
{
Set<Conversion> conversions = new HashSet<Conversion>(
new ClassFilterSet<Interaction,Conversion>(
spe.getParticipantOf(), Conversion.class));
for(Conversion conversion : conversions) {
if(conversion instanceof ComplexAssembly
|| conversion instanceof Degradation) {
continue;
}
Set<SimplePhysicalEntity> side =
new ClassFilterSet<PhysicalEntity,SimplePhysicalEntity>(
conversion.getLeft(), SimplePhysicalEntity.class);
if(side.contains(spe))
side = new ClassFilterSet<PhysicalEntity,SimplePhysicalEntity>(
conversion.getRight(), SimplePhysicalEntity.class);
if(!sameKindEntityExists(spe, side))
error(validation, spe, "illegal.conversion", false, conversion);
}
}