docs: public static final BigDecimal parseField(byte[] bytes, int startPos, int length, char delimiter) {
  		if (length <= 0) {
  			throw new NumberFormatException("Invalid input: Empty string");
  		}
  		int i = 0;
  		final byte delByte = (byte) delimiter;
  
  		while (i < length && bytes[startPos + i] != delByte) {
  			i++;
  		}
  
  		if (i > 0 &&
  				(Character.isWhitespace(bytes[startPos]) || Character.isWhitespace(bytes[startPos + i - 1]))) {
  			throw new NumberFormatException("There is leading or trailing whitespace in the numeric field.");
  		}
  
  		final char[] chars = new char[i];
  		for (int j = 0; j < i; j++) {
  			final byte b = bytes[startPos + j];
  			if ((b < '0' || b > '9') && b != '-' && b != '+' && b != '.' && b != 'E' && b != 'e') {
  				throw new NumberFormatException();
  			}
  			chars[j] = (char) bytes[startPos + j];
  		}
  		return new BigDecimal(chars);
  	}