code: function( Ctor ){
  
            var searchedProto = Ctor.OriginalConstructor ? Ctor.OriginalConstructor.prototype : Ctor.prototype;
            var current = this;
            var compare;
  
            while( ( current = Object.getPrototypeOf( current ) ) ){
  
              // It will compare either with OriginalConstructor.prototype or plain prototype
              compare = current.constructor.OriginalConstructor ?
                        current.constructor.OriginalConstructor.prototype :
                        current.constructor.prototype;
  
              // Actually run the comparison
              if( compare === searchedProto ) return true;
            }
            return false;
          }
docs: Look for Ctor.prototype anywhere in the __proto__ chain. Unlike Javascript's plain instanceof, this method attempts to compare