public Object readConst(final int item, final char[] buf){
	int index = items[item];
	switch(b[index - 1])
		{
		case ClassWriter.INT:
			return new Integer(readInt(index));
		case ClassWriter.FLOAT:
			return new Float(Float.intBitsToFloat(readInt(index)));
		case ClassWriter.LONG:
			return new Long(readLong(index));
		case ClassWriter.DOUBLE:
			return new Double(Double.longBitsToDouble(readLong(index)));
		case ClassWriter.CLASS:
			String s = readUTF8(index, buf);
			return s.charAt(0) == '['
			       ? Type.getType(s)
			       : Type.getObjectType(s);
			// case ClassWriter.STR:
		default:
			return readUTF8(index, buf);
		}
}