protected void readAttributes(ConstantPool constantPool,
			DataInputStream input, int howMuch) throws IOException {
		int count = input.readUnsignedShort();
		unknownAttributes = null;
		for (int i = 0; i < count; i++) {
			String attrName = constantPool.getUTF8(input.readUnsignedShort());
			final int attrLength = input.readInt();
			ConstrainedInputStream constrInput = new ConstrainedInputStream(
					attrLength, input);
			readAttribute(attrName, attrLength, constantPool,
					new DataInputStream(constrInput), howMuch);
			constrInput.skipRemaining();
		}
	}