Well, I think that using multiple return is not readable.
I prefer code as:
String result = null;
doLotOfStuff();
if (condition) {
result = foo;
} else {
result = bar;
}
return result;
Multiple returns is complicated to understand.
But in your case I will prefer the postCheck
doLotOfStuff();
if (condition) {
return foo;
} else {
return bar;
}