Added many comments.
Prepared VariableAccessReplacer for CompileStatic