Private virtual methods