BPMNShape bpmnShape = BusinessObjectUtil.getFirstElementOfType(choreographyContainer, BPMNShape.class);
Bounds bounds = bpmnShape.getBounds();
int x = (int) ((bounds.getX() + bounds.getWidth() / 2) - (ENV_W / 2));
Map<AnchorLocation, BoundaryAnchor> boundaryAnchors = AnchorUtil.getBoundaryAnchors(choreographyContainer);
BoundaryAnchor topBoundaryAnchor = boundaryAnchors.get(AnchorLocation.TOP);
BoundaryAnchor bottomBoundaryAnchor = boundaryAnchors.get(AnchorLocation.BOTTOM);
for (Connection connection : topBoundaryAnchor.anchor.getOutgoingConnections()) {
EObject container = connection.getEnd().eContainer();
if (container instanceof PropertyContainer) {
String property = peService.getPropertyValue((PropertyContainer) container, MESSAGE_LINK);