code: private void processParentPage(PageWrapper parentPage, PageModificationContext context) {
          if (context.getDeletedPageKey() != null) {
              // We have a deleted page. Remove its pointer from the parent.
              parentPage.getPage().update(Collections.singletonList(PageEntry.noValue(context.getDeletedPageKey())));
              parentPage.markNeedsFirstKeyUpdate();
          } else {
              // Update parent page's child pointers for modified pages.
              val toUpdate = context.getUpdatedPagePointers().stream()
                                    .map(pp -> new PageEntry(pp.getKey(), serializePointer(pp)))
                                    .collect(Collectors.toList());
              parentPage.getPage().update(toUpdate);
          }
      }
docs: Processes the parent BTreePage after modifying one of its child pages. This involves removing Pointers to deleted
  child pages, updating pointers to existing pages and inserting pointers for new pages (results of splits).
  
  @param parentPage The parent page.
  @param context    Processing Context.