Surface move virtual method from the .icc to the .cxx
This was supposed to be a simple .
Moving virtual methods doing allocations out of line ....
But it uncovered some other things.
So now it depends (this contains the changes of them) on 2 other MRs being merged ...
Edited by Christos Anastopoulos