@@ -0,0 +1,857 @@
+package com.github.davidmoten.geo.mem;%0A%0Aimport java.util.Map;%0Aimport java.util.SortedMap;%0A%0Aimport com.github.davidmoten.geo.GeoHash;%0Aimport com.google.common.base.Optional;%0Aimport com.google.common.collect.Maps;%0A%0Apublic class Geomem%3CT%3E %7B%0A%0A%09private final Map%3CString, SortedMap%3CLong, T%3E%3E map = Maps.newConcurrentMap();%0A%0A%09public Geomem(Optional%3CInteger%3E maxSize) %7B%0A%0A%09%7D%0A%0A%09public Iterable%3CT%3E find(double topLeftLat, double topLeftLong,%0A%09%09%09double bottomRightLat, double bottomRightLong, long start,%0A%09%09%09long finish) %7B%0A%09%09return null;%0A%09%7D%0A%0A%09public void add(double lat, double lon, long time, T t, long expiryTime) %7B%0A%09%09String hash = GeoHash.encodeHash(lat, lon);%0A%09%09for (int i = 1; i %3C= hash.length(); i++) %7B%0A%09%09%09String key = hash.substring(0, i);%0A%09%09%09if (map.get(key) == null) %7B%0A%09%09%09%09map.put(key, Maps.%3CLong, T%3E newTreeMap());%0A%09%09%09%7D%0A%09%09%09map.get(key).put(time, t);%0A%09%09%7D%0A%09%7D%0A%7D%0A

add Geomem