I used a synchronized block in the Solution constructor for all that logic, used a synchronized (this) in the first method and a synchronized (Solution.class) in the second method and the answer validated. What is the point of using both "this" and "Solution.class"?