exercises from the ocjp book