public Node getSaveNode(Document document, String conKind) {
        Element connectorElement = document.createElement("BlockConnector");
        connectorElement.setAttribute("connector-kind", conKind);
        connectorElement.setAttribute("connector-type", kind);
        connectorElement.setAttribute("init-type", initKind);
        connectorElement.setAttribute("label", label);
        if (expandGroup.length() > 0) {
            connectorElement.setAttribute("expand-group", expandGroup);
        }
        if (isExpandable) {
            connectorElement.setAttribute("is-expandable", "yes");
        }
        if (this.positionType.equals(PositionType.SINGLE)) {
            connectorElement.setAttribute("position-type", "single");
        } else if (this.positionType.equals(PositionType.MIRROR)) {
            connectorElement.setAttribute("position-type", "mirror");
        } else if (this.positionType.equals(PositionType.BOTTOM)) {
            connectorElement.setAttribute("position-type", "bottom");
        } else if (this.positionType.equals(PositionType.TOP)) {
            connectorElement.setAttribute("position-type", "top");
        }

        if (this.isLabelEditable) {
            connectorElement.setAttribute("label-editable", "true");
        }

        if (!this.connBlockID.equals(Block.NULL)) {
            connectorElement.setAttribute("con-block-id", Long.toString(connBlockID));
        }

        return connectorElement;
    }