public static bool operator==(UsdPrimSubtreeIterator lhs, UsdPrimSubtreeIterator rhs)
        {
            // The Swig binding glue will re-enter this operator comparing to null, so
            // that case must be handled explicitly to avoid an infinite loop. This is still
            // not great, since it crosses the C#/C++ barrier twice. A better approache might
            // be to return a simple value from C++ that can be compared in C#.
            bool lnull = lhs as object == null;
            bool rnull = rhs as object == null;

            return((lnull == rnull) && ((lnull && rnull) || UsdPrimSubtreeIterator.Equals(lhs, rhs)));
        }
 override public bool Equals(object rhs)
 {
     return(UsdPrimSubtreeIterator.Equals(this, rhs as UsdPrimSubtreeIterator));
 }