IterableComparator - to compare lists and sets
Removed unreachable code in compareTo
Added compareObjects static method
Also compare parents of ports in compareTo

Use NullSafecomparator statically instead
Added nullCompare static method and more javadocs
ports could also be null!
Port comparison uses parents again..
Datalink order again..