We have inherited a large code base that uses Wicket 6 where we have a RadioGroup of preferred contact type choices (SMS, e-mail, etc). When a Radio for SMS is selected, a TextField for phone number is made visible, same for e-mail and so on.
This has been implemented by adding an AjaxEventBehavior for "onclick" event to each Radio. The onEvent(AjaxRequestTarget) method calls RadioGroup.onSelectionChanged() and updates the visibility of each TextField:
radioSms = new Radio<>("sms", ...);
radioEmail = new Radio<>("email", ...);
radioGroup = new RadioGroup<>("contactGroup");
radioGroup.add(radioSms)
          .add(radioEmail)
          .add(textFieldSms)
          .add(textFieldEmail);
radioSms.add(new OnClickEventBehavior());
radioEmail.add(new OnClickEventBehavior());
...
private class OnClickEventBehavior extends AjaxEventBehavior {
    protected OnClickEventBehavior() {
        super("onclick");
    }
    @Override
    protected void onEvent(AjaxRequestTarget target) {
        radioGroup.onSelectionChanged();
        updateTextFieldVisibilities();
        target.add(form);
    }
}
Our problems are that we have to upgrade to Wicket 8, the onSelectionChanged() method has been removed from RadioGroup and we can not find any documentation about a possible replacement. From reading between the lines of Wicket 6 JavaDocs, I get the feeling that the onSelectionChanged() method shouldn't even be called manually, since the docs only state "Called when a new option is selected." in a passive form. 
I have questions:
- Did our ancestors abuse the Wicket API by calling 
onSelectionChanged()manually? - Is there a replacement for 
RadioGroup.onSelectionChanged()in Wicket 8? - What is the correct way of implementing the functionality described in the first paragraph?