 <p>I depends on your style, but one advantage of returning: you could call <code>populate(o).doSomethingElse();</code>, i.e. you can chain method calls.</p> <p>Have a look at how <code>StringBuilder</code> does that for example, which allows things like this <code>new StringBuilder().append("a").append("b")....</code></p>