@Override
 public IEditorInput createEditorInput(IContainer characterFolder, IDisplayNameProvider provider)
     throws PersistenceException, CoreException, ExtensionException {
   IEditorInputFactory factory =
       displayElement.getAttributeAsObject(
           "editorInputFactory", //$NON-NLS-1$
           IEditorInputFactory.class);
   IFile modelFile = getModelFile(characterFolder);
   CharacterId characterId = new CharacterId(characterFolder);
   return factory.create(
       modelFile, characterId, getImageUrl(), provider, ModelCache.getInstance());
 }
 @Override
 public URL getImageUrl() {
   return ResourceUtils.getResourceUrl(
       pluginId, displayElement.getAttribute("icon")); // $NON-NLS-1$
 }
 @Override
 public String getEditorId() {
   return displayElement.getAttribute("editorId"); // $NON-NLS-1$
 }
 @Override
 public String getDisplayName() {
   return displayElement.getAttribute("displayName"); // $NON-NLS-1$
 }