def push(node)
      node = Node(node)
      @head ||= node

      if @tail
        @tail.next = node
        node.prev = @tail
      end

      @tail = node

      @length += 1
      self
    end
def push(node)
      node = Node(node)
      @head ||= node

      if @tail
        @tail.next = node
        node.prev = @tail
      end

      @tail = node

      @length += 1
      self
    end
Pushes new nodes to the end of the list.

 == Parameters:
 node:: Any object, including +Node+ objects.

 == Returns:
 +self+ of +List+ object.