title: GroupingBy, summing, and return value
body: <p>Ok, I tried to ask this question earlier and it didn't go well. Maybe this is a better explanation of what I need.</p>
  
  <p>I have a Loan object with over 30 attributes. I want to group by one of the attributes (the loan number, a String), sum another attribute (the loan amount, a Double), and just return the remaining attributes. So I tried:</p>
  
  <pre><code>Map&lt;String, List&lt;Loan&gt;&gt; groupedLoans = loanList.stream()
      .collect(groupingBy(Loan::getLoanNum, summingDouble(Loan::getAmount));
  </code></pre>
  
  <p>However that does not give me a List of Loans. I get only the 2 attributes used in the collect statement, a <code>Map&lt;String, List&lt;Double&gt;&gt;</code>, which isn't what I want (I understand it though). I've lost all the other attributes of the Loan. I want a <code>Map&lt;String, List&lt;Loan&gt;&gt;</code>.</p>
  
  <p>I've gathered from the research I've done that I probably need to 'new' up another Loan object, and pass the attributes in the constructor, but like I said, I have over 30 attributes, and that would be unwieldy.</p>
  
  <p>How can I achieve this elegantly?</p>