this.templateListeners = new CopyOnWriteArraySet<DiagramConnectionTemplateListener>();
String endpt1PropStr = this.bindingDef.getEndpoint1().content().getProperty().content();
String endpt2PropStr = this.bindingDef.getEndpoint2().content().getProperty().content();
this.originalEndpoint2Path = new ModelPath(endpt2PropStr);
ElementType type = this.modelProperty.getType();
this.endpoint1Property = type.property(endpt1PropStr);
this.endpoint2Property = type.property(this.originalEndpoint2Path);
if (getConnectionType() == ConnectionType.OneToOne)
{
this.endpoint1Path = new ModelPath(endpt1PropStr);
this.endpoint2Path = new ModelPath(endpt2PropStr);
this.connListProperty = this.modelProperty;
}
else
{
ModelPath.PropertySegment head = (ModelPath.PropertySegment)this.originalEndpoint2Path.head();
PropertyDef prop = type.property(head.getPropertyName());
if (prop instanceof ListProperty)
{
this.endpoint1Path = new ModelPath("../" + endpt1PropStr);
this.endpoint2Path = this.originalEndpoint2Path.tail();
this.connListProperty = (ListProperty)prop;
}
else
{