code: public T find(Object val, CacheLoader<T> loader) {
          if( order.size() != 1 ) {
              throw new CacheManagementException("You may only call this method when the cache is managing one unique identifier.");
          }
          return find(order.get(0), val, loader);
      }
docs: Calls {@link #find(String,Object,CacheLoader)} using the only unique
  identifier attribute as passed to this cache's constructor. If more than one
  unique identifier attribute was passed, this method will throw an exception
  @param val the value of the unique key being sought
  @param loader the loader to load new instances from the persistent store
  @return a matching object, if any
  @throws CacheManagementException this cache supports multiple unique identifiers