code: public StorableIndex<S> findPrimaryKeyIndex(StorableInfo<S> info) {
          if (info == null) {
              throw new IllegalArgumentException();
          }
          return findKeyIndex(info.getPrimaryKey());
      }
docs: Finds the best index to represent the primary key. Should be called
  after calling reduce. As long as the primary key was added via {@link
  #addPrimaryKey addPrimaryKey}, this method should never return null.
  
  @throws IllegalArgumentException if info is null