public final <T extends DomElement> T createMockElement(
     final Class<T> aClass, final Module module, final boolean physical) {
   final XmlFile file =
       (XmlFile)
           PsiFileFactory.getInstance(myProject)
               .createFileFromText("a.xml", StdFileTypes.XML, "", (long) 0, physical);
   file.putUserData(MOCK_ELEMENT_MODULE, module);
   file.putUserData(MOCK, new Object());
   return getFileElement(
           file, aClass, "I_sincerely_hope_that_nobody_will_have_such_a_root_tag_name")
       .getRootElement();
 }
 @NotNull
 public final <T extends DomElement> DomFileElementImpl<T> getFileElement(
     final XmlFile file, final Class<T> aClass, String rootTagName) {
   //noinspection unchecked
   if (file.getUserData(MOCK_DESCRIPTION) == null) {
     file.putUserData(MOCK_DESCRIPTION, new MockDomFileDescription<T>(aClass, rootTagName, file));
     mySemService.clearCache();
   }
   final DomFileElementImpl<T> fileElement = getFileElement(file);
   assert fileElement != null;
   return fileElement;
 }