Why this is not a virtual method ?