/** Return true, if reconnecting the connection-instance to newTarget is allowed. */
 private boolean checkTargetReconnection() {
   // connection endpoints must be different Shapes
   if (newTarget.equals(oldSource)) {
     return false;
   }
   // return false, if the connection exists already
   for (final Iterator<WhenConnection> iter = newTarget.getTargetConnections().iterator();
       iter.hasNext(); ) {
     final WhenConnection conn = (WhenConnection) iter.next();
     // return false if a oldSource -> newTarget connection exists already
     // and it is a differenct instance that the connection-field
     if (conn.getSource().equals(oldSource) && !conn.equals(connection)) {
       return false;
     }
   }
   return true;
 }