In another thread I described a solution to a different safepoint problem - however, the solution may also solve your problem.
In another thread I described a solution to a different safepoint problem - however, the solution may also solve your problem.