new
and virtual
are two (mostly-) unrelated keywords.
new
means it shadows the base method.
virtual
allows subclasses to override it.
Calling the method through the interface results in the base method being called, since the base method is not virtual
and the derived classes don’t explicitly re-implement the interface (which would cause the method to be re-mapped)