code: function isUsedVariable(variable) {
  	            var functionNodes = variable.defs.filter(function(def) {
  	                    return def.type === "FunctionName";
  	                }).map(function(def) {
  	                    return def.node;
  	                }),
  	                isFunctionDefinition = functionNodes.length > 0,
  	                rhsNode = null;
  	
  	            return variable.references.some(function(ref) {
  	                if (isForInRef(ref)) {
  	                    return true;
  	                }
  	
  	                var forItself = isReadForItself(ref, rhsNode);
  	
  	                rhsNode = getRhsNode(ref, rhsNode);
  					variable.isread = variable.isread || ref.isRead();
  	                return (
  	                    ref.isRead() &&
  	                    !forItself &&
  	                    !(isFunctionDefinition && isSelfReference(ref, functionNodes))
  	                ) || (ref.isRead() && forItself);
  	            });
  	        }
docs: Determines if the variable is used.
  @param {Variable} variable - The variable to check.
  @returns {boolean} True if the variable is used
  @private