DevelopmentException: Invalid item's metaClass 'itpearls_InternalEmailer'

Привет!
Есть сущность и есть экранные формы редактирования и browse к ней (InternalEmailer). Все хорошо и стандартно работает. Хочу расширить сущность InternalEmailerTemplate и добавить к ней поле и расширить экран, чтоб добавить к ней редактирование нового расширенного поля.

Ну сущность вроде как “расширил” успешно:

@DiscriminatorValue("0")
@Entity(name = "itpearls_InternalEmailerTemplate")
@NamePattern("%s %s %s|fromEmail,toEmail,dateSendEmail")
public class InternalEmailerTemplate extends InternalEmailer {
    private static final long serialVersionUID = 1487827434848726699L;

    @Lookup(type = LookupType.DROPDOWN, actions = {})
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "EMAIL_TEMPLATE_ID")
    private InternalEmailTemplate emailTemplate;

    public InternalEmailTemplate getEmailTemplate() {
        return emailTemplate;
    }

    public void setEmailTemplate(InternalEmailTemplate emailTemplate) {
        this.emailTemplate = emailTemplate;
    }
}

Экран редактирования тоже норм, согласно инструкции.
Дескриптор:

    <data>
        <instance id="emailerDc"
                  class="com.company.itpearls.entity.InternalEmailerTemplate">
            <view extends="_local">
                <property name="emailTemplate" view="_local"/>
            </view>
            <loader/>
        </instance>
        <collection id="emailTemplateDc"
                    class="com.company.itpearls.entity.InternalEmailTemplate">
            <view extends="_local">
                <property name="templateAuthor" view="_local"/>
                <property name="templateOpenPosition" view="_local"/>
                <property name="templatePosition" view="_local"/>
            </view>
            <loader id="emailTemplateDl">
                <query>
                    <![CDATA[select e from itpearls_InternalEmailTemplate e]]>
                </query>
            </loader>
        </collection>
    </data>
    <layout>
        <groupBox id="emailSettingGroupBox"/>
        <lookupPickerField id="templateEmailLookupPickerField"
                           dataContainer="emailerDc"
                           property="emailTemplate"
                           optionsContainer="emailTemplateDc"/>
    </layout>

Контроллер

@UiController("itpearls_InternalEmailerTemplate.edit")
@UiDescriptor("internal-emailer-template-edit.xml")
public class InternalEmailerTemplateEdit extends InternalEmailerEdit {
}

Вызываю экран по invoke нажатию кнопки:

screenBuilders.editor(InternalEmailerTemplate.class, this)
                .withScreenClass(InternalEmailerTemplateEdit.class)
                .newEntity()
                .withInitializer(e -> {
                    e.setFromEmail((ExtUser) userSession.getUser());
                    e.setToEmail(jobCandidatesTable.getSingleSelected());
                })
                .build()
                .show();

Выходит эксепшн
DevelopmentException: Invalid item’s metaClass ‘itpearls_InternalEmailer’

container: InstanceContainerImpl{entity=itpearls_InternalEmailerTemplate, view=com.company.itpearls.entity.InternalEmailerTemplate/}
metaClass: itpearls_InternalEmailer

То есть судя по всему получается что вызываю новую сущность InternalEmailerTemplate, а metaClass от старок InternalEmailer.

Подскажите, пожалуйста, что сделать?

ps:
persistence.xml

        <class>com.company.itpearls.entity.InternalEmailer</class>
        <class>com.company.itpearls.entity.InternalEmailerTemplate</class>

в metadata.xml - не добавлял ничего

Кстати, такая ситуация у меня возникает, если я вызываю форму так:

screenBuilders.editor(InternalEmailerTemplate.class, this)
                .newEntity()
                .withInitializer(e -> {
                    e.setFromEmail((ExtUser) userSession.getUser());
                    e.setToEmail(jobCandidatesTable.getSingleSelected());
                })
                .build()
                .show();

А если я напрямую вызываю с EditorClass

screenBuilders.editor(InternalEmailerTemplate.class, this)
                .withScreenClass(InternalEmailerTemplateEdit.class)
                .newEntity()
                .withInitializer(e -> {
                    e.setFromEmail((ExtUser) userSession.getUser());
                    e.setToEmail(jobCandidatesTable.getSingleSelected());
                })
                .build()
                .show();

То тут ошибка компиляции

.withScreenClass(InternalEmailerTemplateEdit.class)
                ^
  required: Class<S>
  found: Class<InternalEmailerTemplateEdit>
  reason: inference variable S has incompatible bounds
    equality constraints: InternalEmailerTemplateEdit
    lower bounds: Screen,EditorScreen<InternalEmailerTemplate>
  where S,E are type-variables:
    S extends Screen,EditorScreen<InternalEmailerTemplate> declared in method <S>withScreenClass(Class<S>)
    E extends Entity declared in class EditorBuilder

Куда копнуть?

Как типизирован InternalEmailerEdit?
Попробуйте типизировать

public class InternalEmailerTemplateEdit extends InternalEmailerEdit<InternalEmailerTemplate> {
}
public class InternalEmailerEdit<T extends InternalEmailer> extends StandardEditor<T> {
}