@Override
 public int hashCode() {
   final int prime = 31;
   int result = 1;
   result = prime * result + connectorProperties.hashCode();
   result = prime * result + getSource().hashCode();
   final String targetID = getTargetID();
   if (targetID == null) return result;
   result = prime * result + targetID.hashCode();
   return result;
 }
 @Override
 public boolean equals(Object obj) {
   if (this == obj) return true;
   if (obj == null) return false;
   if (getClass() != obj.getClass()) return false;
   ConnectorModel other = (ConnectorModel) obj;
   if (!connectorProperties.equals(other.connectorProperties)
       || !getSource().equals(other.getSource())) return false;
   final String targetID = getTargetID();
   if (targetID == null) return other.getTargetID() == null;
   else return targetID.equals(other.getTargetID());
 }
 public void setColor(Color color) {
   connectorProperties.setColor(color);
 }
 public String getSourceLabel() {
   return connectorProperties.getSourceLabel();
 }
 public Point getEndInclination() {
   return connectorProperties.getEndInclination();
 }
 public void setDash(int[] dash) {
   connectorProperties.setDash(dash);
 }
 public void setShape(Shape shape) {
   connectorProperties.setShape(shape);
 }
 public void changeInclination(
     int deltaX, int deltaY, NodeModel linkedNodeView, Point changedInclination) {
   connectorProperties.changeInclination(deltaX, deltaY, linkedNodeView, changedInclination);
 }
 public void setStartArrow(ArrowType startArrow) {
   connectorProperties.setStartArrow(startArrow);
 }
 public void setSourceLabel(String label) {
   connectorProperties.setSourceLabel(label);
 }
 public void setShowControlPoints(boolean bShowControlPointsFlag) {
   connectorProperties.setShowControlPoints(bShowControlPointsFlag);
 }
 public boolean getShowControlPointsFlag() {
   return connectorProperties.getShowControlPointsFlag();
 }
 public void setMiddleLabel(String middleLabel) {
   connectorProperties.setMiddleLabel(middleLabel);
 }
 public void setEndInclination(Point endInclination) {
   connectorProperties.setEndInclination(endInclination);
 }
 public void setEndArrow(ArrowType endArrow) {
   connectorProperties.setEndArrow(endArrow);
 }
 public int getLabelFontSize() {
   return connectorProperties.getLabelFontSize();
 }
 public void setLabelFontSize(int labelFontSize) {
   connectorProperties.setLabelFontSize(labelFontSize);
 }
 public void setStartInclination(Point startInclination) {
   connectorProperties.setStartInclination(startInclination);
 }
 public void setTargetLabel(String targetLabel) {
   connectorProperties.setTargetLabel(targetLabel);
 }
 public void setWidth(int width) {
   connectorProperties.setWidth(width);
 }
 public Shape getShape() {
   return connectorProperties.getShape();
 }
 public void setAlpha(int alpha) {
   connectorProperties.setAlpha(alpha);
 }
 public int[] getDash() {
   return connectorProperties.getDash();
 }
 public int getAlpha() {
   return connectorProperties.getAlpha();
 }
 public Color getColor() {
   return connectorProperties.getColor();
 }
 public String getLabelFontFamily() {
   return connectorProperties.getLabelFontFamily();
 }
 public String getMiddleLabel() {
   return connectorProperties.getMiddleLabel();
 }
 public void setLabelFontFamily(String labelFontFamily) {
   connectorProperties.setLabelFontFamily(labelFontFamily);
 }
 public ArrowType getStartArrow() {
   return connectorProperties.getStartArrow();
 }
 public int getWidth() {
   return connectorProperties.getWidth();
 }