MultiMetric returns only value of first component metric


I am setting up a registration using ObjectToObjectMultiMetricv4. I add two component metrices of the same type (m1 and m2), set equal weights (0.5) for each of them, and add two different datasets d1 and d2.
In the API description I read that GetValueAndDerivative() or GetValue(), which is passed to the optimizer, returns value of the first metric (m1) only.
My current understanding (also observed by debugging the code) is that no matter how m2 gets worse or better, it has no effect on optimization, since only m1 is passed to the optimizer.

Please, help me to understand.