The optimizer will delete bar() if FOO is a manifest constant that is not 3.
extern void bar();
void my_bar_class_type::bar(my_bar_type<my_bar_type_2>::my_bar_inside_type paramater);
myObject->bar(mySecondObject.getWhatever());