anchor.diff:              } catch(NoQueryException exception) {}
           }
   
  -        private void CheckoutPoll(Action<List<string>, string> callback) {
  -            if (CurrentCheckout.ready()) {
  +        private void PollTillReady(IsReadyGivenCheckout isReady, Action<List<string>, string> callback) {
  +            if (isReady(CurrentCheckout)) {
                   callback(null, null);
               } else {
                   QueryRootQuery query = new QueryRootQuery();
  
positive.code:             _LineItems = new CartLineItems(OnDeleteLineItem);
          }
  
          public delegate void GetWebCheckoutLinkSuccess(string url);
          public delegate void GetWebCheckoutLinkFailure(List<string> graphQLErrors, string httpError);
  
  
negative.code: 
                          UpdateCheckout(checkout);
  
                          if (isReady(CurrentCheckout)) {
                              callback(null, null);
                          } else {
                              #if !SHOPIFY_MONO_UNIT_TEST
                                  UnityTimeout.Start(POLL_DELAY_SECONDS, () => {
                                      PollTillReady(isReady, callback);
                                  });
                              #else
                                  PollTillReady(isReady, callback);
                              #endif
                          }
                      }
  