docs: public static <K, T> Map<K, List<T>> groupBy(Iterable<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure<K> closure) {
          Map<K, List<T>> answer = new LinkedHashMap<K, List<T>>();
          for (T element : self) {
              K value = closure.call(element);
              groupAnswer(answer, element, value);
          }
          return answer;
      }