resolve merge conflicts of f17c1d488840 to master

OCL: http://ag/1932572

Test: refactoring CL, with unit tests

Change-Id: I5da27ee70afb8bf6e5fe9f6f3b545cd26d5c8d20