func (it *simpleItr) Next() Entry {
	if it.nextItem == nil {
		panic("Simple cache iterator Next called when there is no next item")
	}
	entry := it.nextItem.Value.(*simpleEntry)
	it.nextItem = it.nextItem.Next()
	entry = &simpleEntry{
		key:   entry.key,
		value: entry.value,
	}
	return entry
}
Next returns the next item
package cache
import (
	"container/list"
	"sync"
	"time"
)
var (
	DummyCreateTime = time.Time{}
)
type (
	simple struct {
		sync.RWMutex
		accessMap   map[interface{}]*list.Element
		iterateList *list.List
		rmFunc      RemovedFunc
	}
	simpleItr struct {
		simple   *simple
		nextItem *list.Element
	}
	simpleEntry struct {
		key   interface{}
		value interface{}
	}
)
func (it *simpleItr) Close() {
	it.simple.RUnlock()
}
func (it *simpleItr) HasNext() bool {
	return it.nextItem != nil
}