Мне было интересно, что более эффективно и почему?
1)
List<Blah> foo; ... return ImmutableList.copyOf(foo);
или
2)
List<Blah> foo; ... return new ImmutableList.Builder<Blah>().addAll(foo).build();