static protected void ValidateNotDisposed(object valueContainer, int skipFrames)
 {
     Internal.ValidateThreadAccess(skipFrames + 1);
     if (IsDisposed(valueContainer))
     {
         throw new PromiseDisposedException("Always nullify your references when you are finished with them!" +
                                            " Call Retain() if you want to perform operations after the object has finished. Remember to call Release() when you are finished with it!"
                                            , Internal.GetFormattedStacktrace(skipFrames + 1));
     }
 }
 static partial void ValidateThreadAccess(int skipFrames)
 {
     Internal.ValidateThreadAccess(skipFrames + 1);
 }
 static partial void ValidateThreadAccess(int skipFrames, bool warn)
 {
     Internal.ValidateThreadAccess(skipFrames + 1, warn);
 }