El filtro angular funciona pero causa "10 $ iteraciones de digestión alcanzadas"

Recibo datos de mi servidor back-end estructurados de esta manera:

{
  name : "Mc Feast",
  owner :  "Mc Donalds"
}, 
{
  name : "Royale with cheese",
  owner :  "Mc Donalds"
}, 
{
  name : "Whopper",
  owner :  "Burger King"
}

En mi opinión, me gustaría "invertir" la lista. Es decir. Quiero enumerar a cada propietario, y para ese propietario enumerar todas las hamburguesas. Puedo lograr esto usando la función underscorejsgroupBy en un filtro que luego utilizo con elng-repeat directiva:

JS:

app.filter("ownerGrouping", function() {
  return function(collection) {
    return _.groupBy(collection, function(item) {
      return item.owner;
    });
  }
 });

HTML:

<li ng-repeat="(owner, hamburgerList) in hamburgers | ownerGrouping">
  {{owner}}:  
  <ul>
    <li ng-repeat="burger in hamburgerList | orderBy : 'name'">{{burger.name}}</li>
  </ul>
</li>

Esto funciona como se esperaba, pero obtengo un enorme seguimiento de la pila de errores cuando la lista se representa con el mensaje de error "10 $ iteraciones de resumen alcanzadas". Me resulta difícil ver cómo mi código crea un bucle infinito que está implícito en este mensaje. ¿Alguien sabe por qué?

Aquí hay un enlace a un plunk con el código:http://plnkr.co/edit/8kbVuWhOMlMojp0E5Qbs?p=preview

Respuestas a la pregunta(7)

Su respuesta a la pregunta