do not wrap virtual functions until we can wrap protected ones