docs: public static int scanUntilAndMatchPrefix(Bytes bytes, BufRange result, byte separator, int fromPos, int toPos,
  	                                          int searchPrefix) {
  
  		byte b0, b1, b2, b3;
  
  		int p = fromPos;
  		if (p <= toPos) {
  			b0 = bytes.get(p);
  			if (b0 == separator) {
  				result.set(fromPos, 0);
  				return p + 1;
  			}
  		} else {
  			result.reset();
  			return NOT_FOUND;
  		}
  
  		p++;
  		if (p <= toPos) {
  			b1 = bytes.get(p);
  			if (b1 == separator) {
  				result.set(fromPos, 1);
  				return p + 1;
  			}
  		} else {
  			result.reset();
  			return NOT_FOUND;
  		}
  
  		p++;
  		if (p <= toPos) {
  			b2 = bytes.get(p);
  			if (b2 == separator) {
  				result.set(fromPos, 2);
  				return p + 1;
  			}
  		} else {
  			result.reset();
  			return NOT_FOUND;
  		}
  
  		p++;
  		if (p <= toPos) {
  			b3 = bytes.get(p);
  			if (b3 == separator) {
  				result.set(fromPos, 3);
  				return p + 1;
  			}
  		} else {
  			result.reset();
  			return NOT_FOUND;
  		}
  
  		int prefix = Nums.intFrom(b0, b1, b2, b3);
  
  		boolean matchedPrefix = prefix == searchPrefix;
  
  		for (int i = p; i <= toPos; i++) {
  			if (bytes.get(i) == separator) {
  				result.setInterval(fromPos, i);
  				int nextPos = i + 1;
  				return matchedPrefix ? -nextPos : nextPos;
  			}
  		}
  
  		result.reset();
  		return NOT_FOUND;
  	}