function VsdxShape(page, shape, vertex, masters, master, model) {
                    	//BUG in JSweet, fields default values and explicit assignments are not the same (defaults are before super() and assignments are after)!
                    	var _this = this;

                        _this.masterShape = null;
                        _this.master = null;
                        _this.parentHeight = 0;

                        _this = _super.call(this, shape, model) || this;
                        
                        /**
                         * Whether or not to assume HTML labels
                         */
                        _this.htmlLabels = true;
                        /**
                         * If the shape is a sub shape, this is a reference to its root shape, otherwise null
                         */
                        _this.rootShape = _this;
                        /**
                         * The prefix of the shape name
                         */
                        _this.shapeName = null;
                        /**
                         * Shape index
                         */
                        _this.shapeIndex = 0;
                        /**
                         * Whether this cell is a vertex
                         */
                        _this.vertex = true;
                        _this.childShapes = ({});
                        
                        
                        var masterId = _this.getMasterId();
                        var masterShapeLocal = _this.getShapeMasterId();
                        if (masterId != null) {
                            _this.master = (function (m, k) { return m[k] ? m[k] : null; })(masters, masterId);
                        }
                        else {
                            _this.master = master;
                        }
                        if (_this.master != null) {
                            if (masterId == null && masterShapeLocal != null) {
                                _this.masterShape = _this.master.getSubShape(masterShapeLocal);
                            }
                            else {
                                _this.masterShape = _this.master.getMasterShape();
                            }
                        }
                        var name = _this.getNameU();
                        var index = name.lastIndexOf(".");
                        if (index !== -1) {
                            name = name.substring(0, index);
                        }
                        _this.shapeName = name;
                        var shapesList = shape.getElementsByTagName(com.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);
                        if (shapesList != null && shapesList.length > 0) {
                            var shapesElement = shapesList.item(0);
                            _this.childShapes = page.parseShapes(shapesElement, _this.master, false);
                        }
                        var rotation = _this.calcRotation();
                        _this.rotation = rotation * 100 / 100;
                        _this.rotation = _this.rotation % 360.0;
                        var themeIndex = page.getCellIntValue("ThemeIndex", -100);
                        if (themeIndex === -100) {
                            themeIndex = parseInt(_this.getValue(_this.getCellElement$java_lang_String("ThemeIndex"), "0"));
                        }
                        var theme = (function (m, k) { if (m.entries == null)
                            m.entries = []; for (var i = 0; i < m.entries.length; i++)
                            if (m.entries[i].key.equals != null && m.entries[i].key.equals(k) || m.entries[i].key === k) {
                                return m.entries[i].value;
                            } return null; })(model.getThemes(), themeIndex);
                        var variant = page.getCellIntValue("VariationColorIndex", 0);
                        _this.setThemeAndVariant(theme, variant);
                        {
                            var array161 = (function (m) { if (m.entries == null)
                                m.entries = []; return m.entries; })(_this.childShapes);
                            for (var index160 = 0; index160 < array161.length; index160++) {
                                var entry = array161[index160];
                                {
                                    var childShape = entry.getValue();
                                    childShape.setRootShape(_this);
                                    if (childShape.theme == null) {
                                        childShape.setThemeAndVariant(theme, variant);
                                    }
                                }
                            }
                        }
                        _this.quickStyleVals = new com.mxgraph.io.vsdx.theme.QuickStyleVals(/* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleEffectsMatrix"), "0")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleFillColor"), "1")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleFillMatrix"), "0")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleFontColor"), "1")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleFontMatrix"), "0")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleLineColor"), "1")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleLineMatrix"), "0")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleShadowColor"), "1")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleType"), "0")), /* parseInt */ parseInt(_this.getValue(_this.getCellElement$java_lang_String("QuickStyleVariation"), "0")));
                        if (_this.masterShape != null) {
                            _this.masterShape.processGeomList(null);
                            _this.processGeomList(_this.masterShape.getGeomList());
                            if (_this.width === 0)
                                _this.width = _this.getScreenNumericalValue$org_w3c_dom_Element$double(_this.getCellElement$java_lang_String(com.mxgraph.io.vsdx.mxVsdxConstants.WIDTH), 0);
                            if (_this.height === 0)
                                _this.height = _this.getScreenNumericalValue$org_w3c_dom_Element$double(_this.getCellElement$java_lang_String(com.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT), 0);
                        }
                        else {
                            _this.processGeomList(null);
                        }
                        _this.vertex = vertex || (_this.childShapes != null && !(function (m) { if (m.entries == null)
                            m.entries = []; return m.entries.length == 0; })(_this.childShapes)) || (_this.geomList != null && (!_this.geomList.isNoFill()  || _this.geomList.getGeoCount() > 1));
                        _this.layerMember = _this.getValue(_this.getCellElement$java_lang_String("LayerMember"));
                        
                        //We don't have a cell belongs to multiple layers
                        if (_this.layerMember && _this.layerMember.indexOf('0;') == 0)
                    	{
                        	 _this.layerMember =  _this.layerMember.substr(2);
                    	}
                        
                        return _this;
                    }
Create a new instance of mxVdxShape.
This method get the references to the master element, master shape
and stylesheet.
@param {*} shape
@param {com.mxgraph.io.vsdx.mxVsdxPage} page
@param {boolean} vertex
@param {*} masters
@param {com.mxgraph.io.vsdx.mxVsdxMaster} master
@param {com.mxgraph.io.vsdx.mxVsdxModel} model
@class
@extends com.mxgraph.io.vsdx.Shape