code: @SuppressWarnings("unchecked")
      public <V> ResultTransformer<Map<K, V>> as(Expression<V> expression) {
          final Expression<V> lookup = getLookup(expression);
          return new GroupByMap<K, V>(key, expression) {
              @Override
              protected Map<K, V> transform(Map<K, Group> groups) {
                  Map<K, V> results = new LinkedHashMap<K, V>((int) Math.ceil(groups.size() / 0.75), 0.75f);
                  for (Map.Entry<K, Group> entry : groups.entrySet()) {
                      results.put(entry.getKey(), entry.getValue().getOne(lookup));
                  }
                  return results;
              }
          };
      }
docs: Get the results as a map
  
  @param expression projection
  @return new result transformer