/// <summary>
        /// Create an IFCElementarySurface object from a handle of type IfcElementarySurface.
        /// </summary>
        /// <param name="ifcElementarySurface">The IFC handle.</param>
        /// <returns>The IFCElementarySurface object.</returns>
        public static IFCElementarySurface ProcessIFCElementarySurface(IFCAnyHandle ifcElementarySurface)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcElementarySurface))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcElementarySurface);
                return(null);
            }

            IFCEntity elementarySurface;

            if (IFCImportFile.TheFile.EntityMap.TryGetValue(ifcElementarySurface.StepId, out elementarySurface))
            {
                return(elementarySurface as IFCElementarySurface);
            }

            if (IFCAnyHandleUtil.IsValidSubTypeOf(ifcElementarySurface, IFCEntityType.IfcPlane))
            {
                return(IFCPlane.ProcessIFCPlane(ifcElementarySurface));
            }
            if (IFCAnyHandleUtil.IsValidSubTypeOf(ifcElementarySurface, IFCEntityType.IfcCylindricalSurface))
            {
                return(IFCCylindricalSurface.ProcessIfcCylindricalSurface(ifcElementarySurface));
            }

            Importer.TheLog.LogUnhandledSubTypeError(ifcElementarySurface, IFCEntityType.IfcElementarySurface, true);
            return(null);
        }
        /// <summary>
        /// Create an IFCCylindricalSurface object from a handle of type IfcCylindricalSurface.
        /// </summary>
        /// <param name="ifcCylindricalSurface">The IFC handle.</param>
        /// <returns>The IFCCylindricalSurface object.</returns>
        public static IFCCylindricalSurface ProcessIfcCylindricalSurface(IFCAnyHandle ifcCylindricalSurface)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcCylindricalSurface))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcCylindricalSurface);
                return(null);
            }

            IFCEntity cylindricalSurface;

            if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcCylindricalSurface.StepId, out cylindricalSurface))
            {
                cylindricalSurface = new IFCCylindricalSurface(ifcCylindricalSurface);
            }

            return(cylindricalSurface as IFCCylindricalSurface);
        }