thankyou so much......

....one more question is there..........
synchronized void move() throws java.io.IOException {
Additional code here
}
Referring to the sample code above, how can a method in the same class invoke move()?
Choice 1
By enclosing the call inside a "try" block followed by a "catch (java.io.IOException e)" block.
Choice 2
By enclosing the call inside a "try" block.
Choice 3
By calling wait() to obtain the object's monitor before calling move().
Choice 4
By following the call with a "catch (java.io.IOException e)" block.
Choice 5
By enclosing the call inside a "catch (java.io.IOException e)" block.
I think answer is choice 1....am i correct