code: @UnstableApi
      @SuppressWarnings("CheckReturnValue")
      public static void spyOn(Object toSpy) {
          if (onSpyInProgressInstance.get() != null) {
              throw new IllegalStateException("Cannot set up spying on an existing object while "
                      + "setting up spying for another existing object");
          }
  
          onSpyInProgressInstance.set(toSpy);
          try {
              spy(toSpy);
          } finally {
              onSpyInProgressInstance.remove();
          }
      }
docs: Make an existing object a spy.
  
  <p>This does <u>not</u> clone the existing objects. If a method is stubbed on a spy
  converted by this method all references to the already existing object will be affected by
  the stubbing.
  
  @param toSpy The existing object to convert into a spy