public static MutexLocker FromBaseObject(BaseObject baseObj) { if (baseObj == null || baseObj.NativeObject == IntPtr.Zero) { return(null); } MutexLocker obj = baseObj as MutexLocker; if (object.Equals(obj, null)) { obj = new MutexLocker(CreatedWhenConstruct.CWC_NotToCreate); obj.BindNativeObject(baseObj.NativeObject, "CMutexLocker"); obj.IncreaseCast(); } return(obj); }