public new static vtkArrayIterator SafeDownCast(vtkObjectBase o)
        {
            vtkArrayIterator vtkArrayIterator = null;
            uint             mteStatus        = 0u;
            uint             mteIndex         = 4294967295u;
            uint             rawRefCount      = 0u;
            IntPtr           intPtr           = vtkArrayIterator.vtkArrayIterator_SafeDownCast_06((o == null) ? default(HandleRef) : o.GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);

            if (IntPtr.Zero != intPtr)
            {
                bool flag;
                vtkArrayIterator = (vtkArrayIterator)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag);
                if (flag)
                {
                    vtkArrayIterator.Register(null);
                }
            }
            return(vtkArrayIterator);
        }
        public override vtkArrayIterator NewIterator()
        {
            vtkArrayIterator vtkArrayIterator = null;
            uint             mteStatus        = 0u;
            uint             mteIndex         = 4294967295u;
            uint             rawRefCount      = 0u;
            IntPtr           intPtr           = vtkUnicodeStringArray.vtkUnicodeStringArray_NewIterator_22(base.GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);

            if (IntPtr.Zero != intPtr)
            {
                bool flag;
                vtkArrayIterator = (vtkArrayIterator)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag);
                if (flag)
                {
                    vtkArrayIterator.Register(null);
                }
            }
            return(vtkArrayIterator);
        }