func (iter *iterator) Previous() List.Iterator {
	if iter.current != nil {
		iter.current = iter.list.findParentNode(iter.current)
	}
	if iter.current == nil {
		iter.list = nil
		return nil
	}
	return iter
}
Previous iterates to the previous element in the list and returns the iterator, or nil if there is no previous element
package linkedlist
import (
	"errors"
	List "github.com/zimmski/container/list"
)
type node struct {
	next  *node        
	value interface{}  
}
type iterator struct {
	current *node  
	list    *list  
}
func (iter *iterator) Next() List.Iterator {
	if iter.current != nil {
		iter.current = iter.current.next
	}
	if iter.current == nil {
		iter.list = nil
		return nil
	}
	return iter
}