if (thisType == null) return false;
		public boolean consumes(SemanticToken token) {			SimpleName node= token.getNode();			// early pruning			ITypeBinding thisType= node.resolveTypeBinding();			if (thisType == null)				return false;						if (thisType.isArray())				thisType= thisType.getElementType();			if (!Bindings.canAutoUnBox(thisType))				return false;						/*			 * walk the expression tree for expressions that propagate the			 * expression's type. Stop when the parent node is not a propagating			 * node or if the expression's type changes from primitive to			 * non-primitive.			 */			ASTNode child;			ASTNode parent= node;			do {				child= parent;				parent= child.getParent();				ITypeBinding destinationType= getBoundType(child, parent);				if (destinationType == null)					return false;				if (isAutoboxing(destinationType, thisType))					return true;				if (parent.getNodeType() == ASTNode.POSTFIX_EXPRESSION) {					if (child instanceof Expression) {						ITypeBinding binding= ((Expression) child).resolveTypeBinding();						if (!binding.isPrimitive())							return true;					}				}							} while (isPropagatingNode(child, parent));						return false;		}