http://codereview.appspot.com/90068/diff/1/5 File java/common/src/main/java/org/apache/shindig/common/cache/CacheWrapper.java (right):
http://codereview.appspot.com/90068/diff/1/5#newcode22 Line 22: * Convenient wrapper for a cache to ease adaptation. This class doesn't make any sense. It can be used anywhere that Cache<K, V> can be used, and nowhere that it can't. Why is it needed? http://codereview.appspot.com/90068/diff/1/4 File java/common/src/main/java/org/apache/shindig/expressions/Expressions.java (right): http://codereview.appspot.com/90068/diff/1/4#newcode61 Line 61: // don't actually need a cache. This isn't even close to accurate. Expressions are very expensive to compute, and absolutely need a cache. The expression cache is more important than most of the other caches in Shindig. Even if there were a case where a cache wasn't needed, the appropriate solution would always be to bind an empty cache in the cache provider, not to have one cache amongst many treated as something 'special'. Any cache can be disabled at any time using the CacheProvider. http://codereview.appspot.com/90068