newValue  = new Item("J", longValue2 * longValue1);
newValue  = new Item("J", lhsValue * rhsValue);
	private void pushByLongMath(int seen, Item it, Item it2) {		Item newValue  = new Item("J");		try {			if ((it.getConstant() != null) && it2.getConstant() != null) {						Long longValue2 = ((Long) it2.getConstant());			 if (seen == LSHL) {				newValue  =new Item("J", longValue2 << ((Number) it.getConstant()).intValue());				if (((Number) it.getConstant()).intValue()  >= 8) 	newValue.specialKind = Item.LOW_8_BITS_CLEAR;			 }			else if (seen == LSHR)				newValue  =new Item("J", longValue2 >> ((Number) it.getConstant()).intValue());			else if (seen == LUSHR)				newValue  =new Item("J", longValue2 >>> ((Number) it.getConstant()).intValue());					else  {				Long longValue1 = ((Long) it.getConstant());			if (seen == LADD)				newValue  = new Item("J", longValue2 + longValue1);			else if (seen == LSUB)				newValue  = new Item("J", longValue2 - longValue1);			else if (seen == LMUL)				newValue  = new Item("J", longValue2 * longValue1);			else if (seen == LDIV)				newValue  =new Item("J", longValue2 / longValue1);			else if (seen == LAND) {				newValue  = new Item("J", longValue2 & longValue1);			if ((longValue1&0xff) == 0 && longValue1 != 0 || (longValue2&0xff) == 0 && longValue2 != 0 ) 					newValue.specialKind = Item.LOW_8_BITS_CLEAR;			}			else if (seen == LOR)				newValue  = new Item("J", longValue2 | longValue1);			else if (seen == LXOR)				newValue  =new Item("J", longValue2 ^ longValue1);			else if (seen == LREM)				newValue  =new Item("J", longValue2 % longValue1);			}			}		 else if (it2.getConstant() != null && seen == LSHR  && ((Integer) it2.getConstant()) >= 8)			newValue.specialKind = Item.LOW_8_BITS_CLEAR; 		else if (it2.getConstant() != null && seen == LAND  && (((Long) it2.getConstant()) & 0xff) == 0)			newValue.specialKind = Item.LOW_8_BITS_CLEAR;		} catch (RuntimeException e) {			// ignore it		}		push(newValue);	}