boolean isUndeclared = sourcePort.getTypeTerm().isSettable();
if (!isUndeclared) {
// sourcePort has a declared type.
Type srcDeclared = sourcePort.getType();
Iterator destinationPorts = destinationPortList.iterator();
while (destinationPorts.hasNext()) {
TypedIOPort destinationPort = (TypedIOPort) destinationPorts
.next();
isUndeclared = destinationPort.getTypeTerm().isSettable();
if (!isUndeclared) {
// both source/destination ports are declared,
// check type
Type destDeclared = destinationPort.getType();
int compare = TypeLattice
.compare(srcDeclared, destDeclared);
if ((compare == CPO.HIGHER)
|| (compare == CPO.INCOMPARABLE)) {