Het is syntactisch correct Java. Maar ik zie niet in hoe het misschien zou kunnen doen wat je van plan bent.
Het lijkt erop dat de parameter 'element' is het wat je zoekt en de 'eerste' veld in de huidige klasse is de wortel van de binaire boom.
Het is onduidelijk of de sleutel voor de binaire boom en search (in het Element class) is 'actief' of 'data'. De 'minder dan' test maakt gebruik van 'actief', terwijl de 'groter dan' 'data' test maakt gebruik van. Het lijkt waarschijnlijk dat beide lijnen hetzelfde veld moet gebruiken. Het kan zijn dat een van deze twee velden ( 'actief' of 'data') mag niet worden genoemd in deze methode op alle. Misschien is de laatste regel van de methode moet gewoon 'return true;'?
(Ik vermoed dat de "stop toestand" en de "code is niet symmetrisch" bovenstaande antwoorden zijn beide onjuist, maar ik kan het mis hebben. Het is moeilijk te zeggen met alleen de code gegeven.)
Ik ben het eens dat oneindige looping is waarschijnlijk: Ik vermoed dat je nodig hebt om een tweede functie 'zoeken' dat twee 'Element' parameters accepteert creëren - een wezen het ding om te zoeken naar (zoals de huidige parameter 'element') en de ander wezen het volgende element te zoeken - het equivalent van plaatselijk variabele 'c'. Ik zou de "Extract Method" refactoring doen op alles in het lichaam van de huidige 'zoeken' methode, behalve de eerste regel, en wijzig de twee recursieve aanroepen van de nieuwe methode te gebruiken.
(Een deel van dit is speculatief, gebaseerd op me raden wat je wilt of van plan, gezien de beperkte informatie. Dus ik kon, uiteraard geheel onjuist.)