else if (methodName.equals("hashCode") && signature.equals("()I")) { Item i = pop(); i.setSpecialKind(Item.HASHCODE_INT); push(i); }
 	private void processMethodCall(DismantleBytecode dbc, int seen) { 		String clsName = dbc.getClassConstantOperand(); 		String methodName = dbc.getNameConstantOperand(); 		String signature = dbc.getSigConstantOperand(); 		String appenderValue = null; 		 		//TODO: stack merging for trinaries kills the constant.. would be nice to maintain. 		if ("java/lang/StringBuffer".equals(clsName) 		||  "java/lang/StringBuilder".equals(clsName)) { 			if ("<init>".equals(methodName)) { 				if ("(Ljava/lang/String;)V".equals(signature)) { 					Item i = getStackItem(0); 					appenderValue = (String)i.getConstant(); 				} else if ("()V".equals(signature)) { 					appenderValue = ""; 				} 			} else if ("toString".equals(methodName)) { 				Item i = getStackItem(0); 				appenderValue = (String)i.getConstant(); 			} else if ("append".equals(methodName)) { 				Item sb = getStackItem(1); 				Item i = getStackItem(0); 				String sbVal = (String)sb.getConstant(); 				Object sVal = (Object)i.getConstant(); 				if ((sbVal != null) && (sVal != null)) { 					appenderValue = sbVal + sVal.toString(); 				} 			} 		} 		 		pushByInvoke(dbc, seen != INVOKESTATIC); 		 		if (appenderValue != null) { 			Item i = this.getStackItem(0); 			i.constValue = appenderValue; 			return; 		} 				if (methodName.equals("nextInt")) {			Item i = pop();			i.setSpecialKind(Item.RANDOM_INT);			push(i);		} 	}