// May return null.
 public bool RemoveDocument(RescueDocument toRemove)
 {
     if (toRemove != null)
     {
         return(RemoveDocument5(nativeNdx, toRemove.nativeNdx));
     }
     else
     {
         return(false);
     }
 }
        // This is expensive so don't do it iteratively.
        public RescueDocument NthDocumentWithKey(long zeroBasedIndex, string keyToFind)
        {
            long returnNdx = NthDocumentWithKey4(nativeNdx, zeroBasedIndex, keyToFind);

            if (returnNdx == 0)
            {
                return(null);
            }
            else
            {
                RescueDocument myReturn = new RescueDocument(returnNdx);
                return(myReturn);
            }
        }
        public RescueDocument NthRescueDocument(long zeroBasedIndex)
        {
            long returnNdx = NthRescueDocument2(nativeNdx, zeroBasedIndex);

            if (returnNdx == 0)
            {
                return(null);
            }
            else
            {
                RescueDocument myReturn = new RescueDocument(returnNdx);
                return(myReturn);
            }
        }