code: @SuppressWarnings("unchecked")
  	public Result<List<DATA>> get(TRANS trans, String key, Getter<DATA> getter) {
  		List<DATA> ld = null;
  		Result<List<DATA>> rld = null;
  		
  		int cacheIdx = cacheIdx(key);
  		Map<String, Dated> map = ((Map<String,Dated>)cache[cacheIdx]);
  		
  		// Check for saved element in cache
  		Dated cached = map.get(key);
  		// Note: These Segment Timestamps are kept up to date with DB
  		Date dbStamp = info.get(trans, name,cacheIdx);
  		
  		// Check for cache Entry and whether it is still good (a good Cache Entry is same or after DBEntry, so we use "before" syntax)
  		if(cached!=null && dbStamp.before(cached.timestamp)) {
  			ld = (List<DATA>)cached.data;
  			rld = Result.ok(ld);
  		} else {
  			rld = getter.get();
  			if(rld.isOK()) { // only store valid lists
  				map.put(key, new Dated(rld.value));  // successful item found gets put in cache
  //			} else if(rld.status == Result.ERR_Backend){
  //				map.remove(key);
  			}
  		}
  		return rld;
  	}
docs: TODO utilize Segmented Caches, and fold "get" into "reads"