Fix comments typo, rename param, refine obtainMessage

1. fix typo of omit;
2. change param name from "value" to a meaningful "sync";
3. seems obtainMessage can be refined as one line;
@zxw1962 asserts aren't thrown in non-debug mode, if you want to throw it, you have to do so explicitly in `if {} else {}` structure like this `throw new AssertionError("Error message here");`