docs: private boolean updateAnchorFromChildrenExpose(RecyclerView.State state, AnchorInfo anchorInfo) {
          if (getChildCount() == 0) {
              return false;
          }
          View focused = getFocusedChild();
          if (focused != null && anchorInfo.assignFromViewIfValid(focused, state)) {
              if (DEBUG) {
                  Log.d(TAG, "decided anchor child from focused view");
              }
              return true;
          }
  
          if (mLastStackFromEnd != getStackFromEnd()) {
              return false;
          }
  
  
          final View referenceChild = anchorInfo.mLayoutFromEnd ?
                  myFindReferenceChildClosestToEnd(state)
                  : myFindReferenceChildClosestToStart(state);
  
  
          if (referenceChild != null) {
              anchorInfo.assignFromView(referenceChild);
              // If all visible views are removed in 1 pass, reference child might be out of bounds.
              // If that is the case, offset it back to 0 so that we use these pre-layout children.
              if (!state.isPreLayout() && supportsPredictiveItemAnimations()) {
                  // validate this child is at least partially visible. if not, offset it to start
                  final boolean notVisible =
                          mOrientationHelper.getDecoratedStart(referenceChild) >= mOrientationHelper
                                  .getEndAfterPadding()
                                  || mOrientationHelper.getDecoratedEnd(referenceChild)
                                  < mOrientationHelper.getStartAfterPadding();
                  if (notVisible) {
                      anchorInfo.mCoordinate = anchorInfo.mLayoutFromEnd
                              ? mOrientationHelper.getEndAfterPadding()
                              : mOrientationHelper.getStartAfterPadding();
                  }
              }
              return true;
          }
          return false;
      }