Se true significa successo, allora è buono, codice chiaro.
Esiste una convenzione diffusa secondo cui una funzione o un metodo restituiscono true (o qualcosa che si considera true) in caso di successo. Finché il tuo codice lo segue, penso che mettere il metodo nel condizionale va bene.
Il codice come questo è inutilmente ingombrante a mio avviso:
boolean frobulate_succeeded = thing.frobulate();
if (frobulate_succeeded) {
...
}
Sembra che tu stia ripetendo te stesso.
Tuttavia, la domanda è ambigua sul significato del valore di ritorno. Dici "un booleano che indica se l'elemento aggiunto esisteva già", il che potrebbe implicare che vero significa che l'elemento esisteva (e che l'aggiunta non si verificava). In tal caso, cambierei idealmente il comportamento di ritorno del metodo per essere più convenzionale. Se ciò non è possibile, aggiungerei una variabile intermedia extra che ti consenta di etichettare chiaramente il risultato di ritorno nel tuo codice (come suggerito da altri).