[QUOTE=L-ectron-X]
Wenn eine Methode einen Rückgabewert ausgibt, muss immer sicher gestellt sein, dass es ein return gibt. Bei der Passage, die @SlaterB eingangs gezeigt hat, ist das nicht sicher. Damit das nicht versehentlich übersehen wird, wird wohle diese Warnung ausgegeben.[/QUOTE]
ganz so kritisch steht es technisch zumindest nicht, die Variante mit dem else kompiliert, es ist nur eine einschaltbare Eclipse-Warnung,
Java ist mächtig genug es mit if + else zu schaffen,
und wenn man etwas am Code ändert so dass return nicht in allen Fällen garantiert bekommt man eh dann einen wirklichen Compilerfehler, falsch machen kann man es kaum
[QUOTE=TMII;140162]Wenn jmd das return statement entfernt wird ein komplett falsches Verhalten ausgelöst das nur mit zeitintensivem Debugging gelöst wird.
Der Code im TO ist für mich idiotensicher. Damit rotzt der Chinese den Code auch nicht mit StackOverflow Copy/Paste kaputt.[/QUOTE]
welcher Unterschied sollte in den Varianten beim Entfernen des return bestehen,
in einem Fall ein leeres else und das wäre leichter zu finden? hmm…
gegen die Bevorzugung von else an sich ist nicht viel zu sagen, außer dass es gar nicht unbedingt zur Debatte stand 
aber wenn sonst nicht weiter zu klären warum Eclipse die Warnung nur selten bietet dann ja auch noch interessant,
für mich ist es ein unterschiedliches Sprachmittel für strukturelle Deutlichkeit,
if mit else läßt direkt erkennen dass kein Abbruch, dass es danach noch zwingend weitergeht (spätes edit: dass kein zwingender Abbruch, dass es danach noch weitergehen kann)
schwierig wird es mit if + else auch falls mehrere Abbruchgründe und noch Schritte dazwischen stehen, die ein else if verbieten,
also
return Color.RED;
} else {
prepareFor2;
if (condition2) {
return Color.YELLOW;
} else {
return Color.GREEN;
}
}
aber wenn man idealerweise kurze Methoden hat kommt es freilich eh nie zu sowas 
falls doch, dann wäre es derart verschachtelt immer noch zu bevorzugen, weil auch hier deutlich?
return Color.RED;
}
prepareFor2;
if (condition2) {
return Color.YELLOW;
}
return Color.GREEN;
ist die Alternative, die Methode als Fluss von Befehlen auf niedrigster Einrückungsstufe,
ab und zu von einem if als Abzweigung zum Abbuch/ return unterbrochen, falls nicht benutzt, dann im Fluss weiter