I propose not to make getters static, but instead add the following (out of the class declaration :) ):

inline MainDocumentInfo* ToMainDocumentInfo(ApplicationData::ManifestData* data) {
return static_cast<MainDocumentInfo*>(data);
}