void apply(Source src, Destination& dest, boost::mpl::true_) const { src.get(); dest->set_data(util::unused); }
void apply(Source src, Destination& dest, boost::mpl::false_) const { dest->set_data(src.get()); }