anchor.diff:        // paint extent.
         while (indexOf(firstChild!) > 0) {
           final childParentData = getParentData(firstChild!);
  -        // print('RRL_2 index:${childParentData.index}');
           // We correct one child at a time. If there are more children before
           // the earliestUsefulChild, we will correct it once the scroll offset
           // reaches zero again.
  
positive.code:         final childParentData = getParentData(firstChild!);
          // childParentData.applyZero();
          childParentData.layoutOffset = 0;
  
          print('RRL 1 apply zero to ${indexOf(firstChild!)}');
  
          if (scrollOffset == 0) {
            // insertAndLayoutLeadingChild only lays out the children before
  
negative.code:       if (scrollOffsets[index] == double.infinity) {
          scrollOffsets[index] = scrollOffset;
        }
        child = childAfter(child);
      }
  
      // Find the first child that is visible in the viewport.
      earliestUsefulChild = firstChild;
      while (scrollOffsets.any((x) => x > scrollOffset)) {
        // We have to add children before the earliestUsefulChild.
        earliestUsefulChild = insertAndLayoutLeadingChild(
          childConstraints,
          parentUsesSize: true,
  