code: public void dropView(V view) {
      if (view == null) throw new NullPointerException("dropped view must not be null");
      if (view == this.view) {
        loaded = false;
        this.view = null;
      }
    }
docs: Called to surrender control of this view, e.g. when the view is detached. If and only if
  the given view matches the last passed to {@link #takeView}, the reference to the view is
  cleared.
  <p/>
  Mismatched views are a no-op, not an error. This is to provide protection in the
  not uncommon case that dropView and takeView are called out of order. For example, an
  activity's views are typically inflated in {@link
  android.app.Activity#onCreate}, but are only detached some time after {@link
  android.app.Activity#onDestroy() onExitScope}. It's possible for a view from one activity
  to be detached well after the window for the next activity has its views inflated&mdash;that
  is, after the next activity's onResume call.