docs: @Override
    protected void initializeCapacities(MkCoPEntry exampleLeaf) {
      int distanceSize = ByteArrayUtil.SIZE_DOUBLE; // exampleLeaf.getParentDistance().externalizableSize();
  
      // overhead = index(4), numEntries(4), id(4), isLeaf(0.125)
      double overhead = 12.125;
      if(getPageSize() - overhead < 0) {
        throw new AbortException("Node size of " + getPageSize() + " Bytes is chosen too small!");
      }
  
      // dirCapacity = (file.getPageSize() - overhead) / (nodeID + objectID +
      // coveringRadius + parentDistance + consApprox) + 1
      dirCapacity = (int) (getPageSize() - overhead) / (4 + 4 + distanceSize + distanceSize + 10) + 1;
  
      if(dirCapacity <= 1) {
        throw new RuntimeException("Node size of " + getPageSize() + " Bytes is chosen too small!");
      }
  
      if(dirCapacity < 10) {
        LOG.warning("Page size is choosen too small! Maximum number of entries " + "in a directory node = " + (dirCapacity - 1));
      }
  
      // leafCapacity = (file.getPageSize() - overhead) / (objectID +
      // parentDistance +
      // consApprox + progrApprox) + 1
      leafCapacity = (int) (getPageSize() - overhead) / (4 + distanceSize + 2 * 10) + 1;
  
      if(leafCapacity <= 1) {
        throw new RuntimeException("Node size of " + getPageSize() + " Bytes is chosen too small!");
      }
  
      if(leafCapacity < 10) {
        LOG.warning("Page size is choosen too small! Maximum number of entries " + "in a leaf node = " + (leafCapacity - 1));
      }
  
      initialized = true;
  
      if(LOG.isVerbose()) {
        LOG.verbose("Directory Capacity: " + (dirCapacity - 1) + "\nLeaf Capacity:    " + (leafCapacity - 1));
      }
    }