Ну, проблема решена.
В методе encodeEnd () я добавил элемент как
HtmlInputHidden hidden = new HtmlInputHidden();
hidden.setParent(this);
hidden.setId("someId");
ValueExpression ve = getValueExpression("value");
hidden.setValueExpression("value", ve);
hidden.encodeBegin(context);
hidden.encodeEnd(context);
Кажется, здесь есть какая-то проблема.
Затем я изменил это на ...
HtmlInputHidden hidden = new HtmlInputHidden();
hidden.setId("someId");
ValueExpression ve = getValueExpression("value");
hidden.setValueExpression("value", ve);
this.getChildren().add(hidden);
hidden.encodeBegin(context);
hidden.encodeEnd(context);
Использование this.getChildren (). Add (); решил мою проблему
P.S. Очевидно, что перед добавлением элемента его необходимо проверить, если элемент уже присутствует.