@Override
	protected void read(InputBuffer b) throws IOException, ParsingException {
		VariableLengthIntegerMessage length = getMessageFactory().parseVariableLengthIntegerMessage(b);
		b = b.getSubBuffer(length.length());
		long l = length.getLong();

		if (l > MAX_LENGTH || l < 0) {
			throw new ParsingException("List is to long. Maximum is 50,000");
		}

		ints = new long[(int) l];

		for (int i = 0; i < l; i++) {
			VariableLengthIntegerMessage v = getMessageFactory().parseVariableLengthIntegerMessage(b);
			b = b.getSubBuffer(v.length());
			ints[i] = v.getLong();
		}
	}