code: public T find(String key, Object val, CacheLoader<T> loader) {
          return find(key, val, loader, null, null);
      }
docs: Seeks the item from the cache that is identified by the specified key having
  the specified value. If no match is found, the specified loader will be called to
  place an item in the cache. You may pass in  <code>null</code> for the loader.
  If you do, only an object in active memory will be returned.
  @param key the name of the unique identifier attribute whose value you have
  @param val the value of the unique identifier that identifiers the desired item
  @param loader a loader to load the desired object from the persistence store if it
  is not in memory
  @return the object that matches the specified key/value