case Kind.STACK:  notImplemented(); res = null; break;  default: throw new IllegalArgumentException("Invalid item kind"); } return res; }
default: throw new IllegalArgumentException("Invalid item kind"); } return res; }
	protected final Item clone(EmitterContext ec) {		final DoubleWordItem res;		final AbstractX86Stream os = ec.getStream();		switch (getKind()) {		case Kind.REGISTER:			res = L1AHelper.requestDoubleWordRegisters(ec, getType());			final Register lsb = res.getLsbRegister();			final Register msb = res.getMsbRegister();			os.writeMOV(INTSIZE, lsb, this.lsb);			os.writeMOV(INTSIZE, msb, this.msb);			break;		case Kind.LOCAL:			res = createLocal(getType(), super.getOffsetToFP());			break;		case Kind.CONSTANT:			res = cloneConstant();			break;		case Kind.FPUSTACK:			//TODO			notImplemented();			res = null;			break;		case Kind.STACK:			//TODO			notImplemented();			res = null;			break;		default:			throw new IllegalArgumentException("Invalid item kind");		}		return res;	}