public BEValue bdecodeBytes() throws IOException {
		int c = getNextIndicator();
		int num = c - '0';
		if (num < 0 || num > 9)
			throw new InvalidBEncodingException("Number expected, not '"
					+ (char) c + "'");
		indicator = 0;

		c = read();
		int i = c - '0';
		while (i >= 0 && i <= 9) {
			// This can overflow!
			num = num * 10 + i;
			c = read();
			i = c - '0';
		}

		if (c != ':')
			throw new InvalidBEncodingException("Colon expected, not '"
					+ (char) c + "'");

		return new BEValue(read(num));
	}