docs: private static PortablePosition navigateToPathTokenWithNumberQuantifier(
              PortableNavigatorContext ctx, PortablePathCursor path) throws IOException {
          // makes sure that the field type is an array and parses the qantifier
          validateArrayType(ctx.getCurrentClassDefinition(), ctx.getCurrentFieldDefinition(), path.path());
          int index = validateAndGetArrayQuantifierFromCurrentToken(path.token(), path.path());
  
          // reads the array length and checks if the index is in-bound
          int len = getArrayLengthOfTheField(ctx);
          if (len == 0) {
              return emptyAnyPosition(path.isLastToken());
          } else if (len == Bits.NULL_ARRAY_LENGTH) {
              return nilAnyPosition(path.isLastToken());
          } else if (index >= len) {
              return nilAnyPosition(path.isLastToken());
          } else {
              // when index in-bound
              if (path.isLastToken()) {
                  // if it's a token that's on the last position we calculate its direct access position and return it for
                  // reading in the value reader.
                  return createPositionForReadAccess(ctx, path, index);
              } else if (ctx.isCurrentFieldOfType(FieldType.PORTABLE_ARRAY)) {
                  // otherwise we advance only if the type is a portable_array. We cannot navigate further in a primitive
                  // type and the portable arrays may store portable or primitive types only.
                  navigateContextToNextPortableTokenFromPortableArrayCell(ctx, path, index);
              }
          }
          return null;
      }