} } but it dos not work, it enters in a loop. The Item that i am using is an Integer. i am not understanding you while cicle: while(current==null) { stack.push(current); if(current.left==null) current=current.left; else current=current.right; } why do you want to push up current ? does that not enters in a loop ? other question , if the left is already ...