@Override
  public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
    if (entries == null || entries.isEmpty()) return;

    ContextEntry entry = entries.get(0);
    String type = entry.getOLATResourceable().getResourceableTypeName();
    if ("changepw".equals(type)) {
      String email = null;
      if (entries.size() > 1) {
        email = entries.get(1).getOLATResourceable().getResourceableTypeName();
      }
      openChangePassword(ureq, email);
    } else if ("registration".equals(type)) {
      if (registrationModule.isSelfRegistrationEnabled()
          && registrationModule.isSelfRegistrationLinkEnabled()) {
        List<ContextEntry> subEntries = entries.subList(1, entries.size());
        openRegistration(ureq).activate(ureq, subEntries, entry.getTransientState());
      }
    }
  }