internal override void parseJObject(JObject obj)
        {
            base.parseJObject(obj);
            JObject jobj = obj.GetValue("OuterBoundary", StringComparison.InvariantCultureIgnoreCase) as JObject;

            if (jobj != null)
            {
                OuterBoundary = mDatabase.ParseJObject <IfcCurve>(jobj);
            }
            InnerBoundaries.AddRange(mDatabase.extractJArray <IfcCurve>(obj.GetValue("InnerBoundaries", StringComparison.InvariantCultureIgnoreCase) as JArray));
        }
        internal override void parseJObject(JObject obj)
        {
            base.parseJObject(obj);
            BasisSurface  = extractObject <IfcPlane>(obj.GetValue("BasisSurface", StringComparison.InvariantCultureIgnoreCase) as JObject);
            OuterBoundary = extractObject <IfcCurve>(obj.GetValue("OuterBoundary", StringComparison.InvariantCultureIgnoreCase) as JObject);
            JArray array = obj.GetValue("InnerBoundaries", StringComparison.InvariantCultureIgnoreCase) as JArray;

            if (array != null)
            {
                InnerBoundaries.AddRange(mDatabase.extractJArray <IfcCurve>(array));
            }
        }