code: function(key){
      
          var current = this.item(key);
  
  		if (current)
          {        
              //special case: removing first item
              if (this._head === current) {
  	
                  this._head = current.next;
                  
                  if (!this._head){
                      this._tail = null;
                  } else {
                      this._head.prev = null;
                  };
         
              //special case: removing last item
              } else if (this._tail === current) {
                  this._tail = current.prev;
                  this._tail.next = null;
              } else {
  				current.prev.next = current.next;
  				current.next.prev = current.prev;
              };
  
  			this._length--;
  			delete this._hash[key];
  			        
              return current;            
          
          } else {
              return null;
          }
                 
      }
docs: Removes the item from the given location in the list.
  @param {int} index The zero-based index of the item to remove.
  @return {variant} The data in the given position in the list or null if
  the item doesn't exist.
  @method remove