}
protected void applyResults(ElementConnectionEditPart connectionPart) {
Edge e = (Edge) partToNodesMap.get(connectionPart);
NodeList nodes = e.vNodes;
PolylineConnection conn = (PolylineConnection) connectionPart.getConnectionFigure();
conn.setTargetDecoration(new PolygonDecoration());
if (nodes != null) {
List<Bendpoint> bends = new ArrayList<Bendpoint>();
for (int i = 0; i < nodes.size(); i++) {
Node vn = nodes.getNode(i);
int x = vn.x;
int y = vn.y;
if (e.isFeedback()) {
bends.add(new AbsoluteBendpoint(x, y + vn.height));
bends.add(new AbsoluteBendpoint(x, y));
} else {
bends.add(new AbsoluteBendpoint(x, y));
bends.add(new AbsoluteBendpoint(x, y + vn.height));
}
}
conn.setRoutingConstraint(bends);
} else {
conn.setRoutingConstraint(Collections.EMPTY_LIST);
}
}