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

            IFCEntity offsetCurve2D = null;
            if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcOffsetCurve2D.StepId, out offsetCurve2D))
                offsetCurve2D = new IFCOffsetCurve2D(ifcOffsetCurve2D);

            return (offsetCurve2D as IFCOffsetCurve2D);
        }