static SchemaPage initInternalPage(
      ByteBuffer buffer, int pageIndex, int ptr, AtomicInteger ai, ReadWriteLock rwl) {
    buffer.clear();

    buffer.position(SchemaFileConfig.PAGE_HEADER_SIZE);
    ReadWriteIOUtils.write(
        ((SchemaFileConfig.PAGE_INDEX_MASK & ptr) << SchemaFileConfig.COMP_POINTER_OFFSET_DIGIT),
        buffer);

    buffer.position(0);
    ReadWriteIOUtils.write(SchemaFileConfig.INTERNAL_PAGE, buffer);
    ReadWriteIOUtils.write(pageIndex, buffer);
    ReadWriteIOUtils.write((short) buffer.capacity(), buffer);
    ReadWriteIOUtils.write(
        (short)
            (buffer.capacity()
                - SchemaFileConfig.PAGE_HEADER_SIZE
                - InternalPage.COMPOUND_POINT_LENGTH),
        buffer);
    ReadWriteIOUtils.write((short) 1, buffer);
    ReadWriteIOUtils.write(-1L, buffer);
    ReadWriteIOUtils.write(-1, buffer);

    return new InternalPage(buffer, ai, rwl);
  }
InternalPage should be initiated with a pointer which points to the minimal child of it.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/ISchemaPage.java