You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by mm...@apache.org on 2021/07/21 14:12:33 UTC

[syncope] branch master updated: code cleanup; diamond ops && lambda refs (#279)

This is an automated email from the ASF dual-hosted git repository.

mmoayyed pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new 1a9cf47  code cleanup; diamond ops && lambda refs (#279)
1a9cf47 is described below

commit 1a9cf472927f609d717104f20bd82c518f0d9240
Author: Misagh Moayyed <mm...@gmail.com>
AuthorDate: Wed Jul 21 18:12:27 2021 +0400

    code cleanup; diamond ops && lambda refs (#279)
    
    * code cleanup; diamond ops && lambda refs
    
    * fix checkstyle;javadocs
    
    * install latest JDK 11 version for travis ci
    
    * reset travis ci back to original
---
 .../authprofiles/AuthProfileDirectoryPanel.java    | 348 +++++++-------
 .../AuthProfileItemDirectoryPanel.java             |   6 +-
 .../clientapps/ClientAppDirectoryPanel.java        |  20 +-
 .../clientapps/ClientAppModalPanelBuilder.java     |  14 +-
 .../ClientAppPropertiesDirectoryPanel.java         |   6 +-
 .../console/clientapps/OIDCRPDirectoryPanel.java   |   2 +-
 .../console/commons/AMRealmPolicyProvider.java     |  12 +-
 .../console/panels/AMSessionDirectoryPanel.java    |   6 +-
 .../console/panels/AuthModuleDirectoryPanel.java   |  20 +-
 .../apache/syncope/client/console/panels/OIDC.java |   2 +-
 .../panels/SAML2IdPEntityDirectoryPanel.java       |  20 +-
 .../panels/SAML2SPEntityDirectoryPanel.java        |  22 +-
 .../console/panels/SRARouteDirectoryPanel.java     |  12 +-
 .../client/console/panels/SRARouteFilterPanel.java |  12 +-
 .../console/panels/SRARoutePredicatePanel.java     |  16 +-
 .../console/panels/SRARouteWizardBuilder.java      |   6 +-
 .../client/console/panels/SRAStatisticsPanel.java  |  20 +-
 .../console/panels/WAConfigDirectoryPanel.java     |   4 +-
 .../policies/AccessPolicyDirectoryPanel.java       |   8 +-
 .../policies/AttrReleasePolicyDirectoryPanel.java  |   4 +-
 .../console/policies/AuthPolicyDirectoryPanel.java |   4 +-
 .../console/policies/AuthPolicyModalPanel.java     |   2 +-
 .../client/console/rest/SRASessionRestClient.java  |   2 +-
 .../client/console/rest/WASessionRestClient.java   |   4 +-
 .../console/wizards/AuthModuleWizardBuilder.java   |   4 +-
 ...irectoryPanelAdditionalActionLinksProvider.java |  62 +--
 ...AnyDirectoryPanelAdditionalActionsProvider.java |  26 +-
 .../commons/IdMImplementationInfoProvider.java     |  12 +-
 .../commons/status/AbstractStatusBeanProvider.java |   2 +-
 .../client/console/panels/CSVConfPanel.java        |   4 +-
 .../console/panels/ConnObjectListViewPanel.java    |  82 ++--
 .../console/panels/LinkedAccountModalPanel.java    | 152 +++----
 .../console/panels/RemediationDirectoryPanel.java  |  66 +--
 .../panels/search/ConnObjectSearchPanel.java       |  16 +-
 .../policies/ProvisioningPolicyModalPanel.java     | 118 ++---
 .../console/policies/PullPolicyDirectoryPanel.java |   8 +-
 .../console/policies/PushPolicyDirectoryPanel.java |   8 +-
 .../client/console/rest/RemediationRestClient.java |   6 +-
 .../console/status/AnyStatusDirectoryPanel.java    |  88 ++--
 .../client/console/status/ReconTaskPanel.java      |  10 +-
 .../status/ResourceStatusDirectoryPanel.java       |  46 +-
 .../syncope/client/console/topology/Topology.java  | 175 +++----
 .../console/topology/TopologyTogglePanel.java      | 116 ++---
 .../markup/html/list/ConnConfPropertyListView.java |   2 +-
 .../client/console/widgets/RemediationsWidget.java |   6 +-
 .../console/wizards/CSVPullWizardBuilder.java      |  10 +-
 .../console/wizards/CSVPushWizardBuilder.java      |   8 +-
 .../wizards/any/LinkedAccountCredentialsPanel.java |   2 +-
 .../wizards/any/LinkedAccountDetailsPanel.java     |   3 +-
 .../wizards/any/LinkedAccountPlainAttrsPanel.java  |  10 +-
 .../wizards/any/LinkedAccountPrivilegesPanel.java  |  13 +-
 .../any/MergeLinkedAccountsResourcesPanel.java     |  18 +-
 .../wizards/resources/ConnectorConfPanel.java      |   2 +-
 .../wizards/resources/ConnectorDetailsPanel.java   |   3 +-
 .../wizards/resources/ResourceConnConfPanel.java   |   2 +-
 .../wizards/resources/ResourceDetailsPanel.java    |   8 +-
 .../wizards/resources/ResourceMappingPanel.java    |  13 +-
 .../wizards/resources/ResourceProvisionPanel.java  |  46 +-
 .../wizards/resources/ResourceSecurityPanel.java   |  16 +-
 .../syncope/client/ui/commons/BaseLogin.java       |   6 +-
 .../syncope/client/ui/commons/DomainDropDown.java  |   2 +-
 .../markup/html/form/AjaxCheckBoxPanel.java        |   6 +-
 .../ui/commons/markup/html/form/AjaxGrid.java      |   4 +-
 .../markup/html/form/AjaxGridFieldPanel.java       |  12 +-
 .../commons/markup/html/form/AjaxPalettePanel.java |  12 +-
 .../markup/html/form/AjaxSpinnerFieldPanel.java    |  48 +-
 .../markup/html/form/AjaxTextFieldPanel.java       |   6 +-
 .../commons/markup/html/form/DateFieldPanel.java   |   6 +-
 .../markup/html/form/EncryptedFieldPanel.java      |   4 +-
 .../client/ui/commons/wizards/AjaxWizard.java      |   2 +-
 .../ui/commons/wizards/AjaxWizardBuilder.java      |   4 +-
 .../ui/commons/wizards/any/AbstractResources.java  |  24 +-
 .../syncope/client/console/PreferenceManager.java  |   2 +-
 .../client/console/audit/AuditHistoryDetails.java  |   6 +-
 .../console/audit/AuditHistoryDirectoryPanel.java  |  18 +-
 .../syncope/client/console/batch/BatchContent.java |  98 ++--
 .../commons/IdRepoImplementationInfoProvider.java  |  10 +-
 .../console/commons/IdRepoRealmPolicyProvider.java |   8 +-
 .../client/console/events/EventCategoryPanel.java  |  44 +-
 .../client/console/events/EventSelectionPanel.java |  34 +-
 .../client/console/events/SelectedEventsPanel.java |  26 +-
 .../notifications/MailTemplateDirectoryPanel.java  |  18 +-
 .../notifications/NotificationDirectoryPanel.java  |  16 +-
 .../notifications/NotificationWizardBuilder.java   |  14 +-
 .../syncope/client/console/pages/BasePage.java     |  86 ++--
 .../syncope/client/console/pages/Realms.java       |   2 +-
 .../console/panels/AccessTokenDirectoryPanel.java  |  12 +-
 .../console/panels/ActionDataTablePanel.java       |   2 +-
 .../client/console/panels/AjaxDataTablePanel.java  |   4 +-
 .../client/console/panels/AnyDirectoryPanel.java   |   4 +-
 .../console/panels/AnyObjectDirectoryPanel.java    | 124 ++---
 .../client/console/panels/AnyTypeClassesPanel.java |  14 +-
 .../client/console/panels/AnyTypesPanel.java       |  14 +-
 .../console/panels/ApplicationDirectoryPanel.java  |  26 +-
 .../console/panels/AttrListDirectoryPanel.java     |  10 +-
 .../syncope/client/console/panels/BeanPanel.java   |  50 +-
 .../console/panels/DashboardExtensionsPanel.java   |   2 +-
 .../client/console/panels/DataTablePanel.java      |   2 +-
 .../console/panels/DelegationDirectoryPanel.java   |  22 +-
 .../console/panels/DelegationSelectionPanel.java   |  26 +-
 .../client/console/panels/DirectoryPanel.java      |   6 +-
 .../panels/DisplayAttributesModalPanel.java        |   6 +-
 .../console/panels/DomainDirectoryPanel.java       |   8 +-
 .../console/panels/DynRealmDirectoryPanel.java     |   6 +-
 .../client/console/panels/DynRealmModalPanel.java  |  34 +-
 .../client/console/panels/GroupDirectoryPanel.java | 221 ++++-----
 .../panels/ImplementationDirectoryPanel.java       |  12 +-
 .../client/console/panels/ListViewPanel.java       |  26 +-
 .../syncope/client/console/panels/LogsPanel.java   |   6 +-
 .../client/console/panels/MembersTogglePanel.java  |   4 +-
 .../panels/NetworkServiceDirectoryPanel.java       |   2 +-
 .../console/panels/ParametersDirectoryPanel.java   |  18 +-
 .../console/panels/ParametersWizardAttrStep.java   |   4 +-
 .../client/console/panels/PlainSchemaDetails.java  |   4 +-
 .../console/panels/PrivilegeDirectoryPanel.java    |   6 +-
 .../syncope/client/console/panels/Realm.java       |  32 +-
 .../client/console/panels/RealmChoicePanel.java    | 116 ++---
 .../client/console/panels/RealmDetails.java        |   6 +-
 .../console/panels/RelationshipTypesPanel.java     |  14 +-
 .../client/console/panels/RoleDirectoryPanel.java  |  86 ++--
 .../client/console/panels/SchemaTypePanel.java     |  14 +-
 .../console/panels/SchemaTypeWizardBuilder.java    | 138 +++---
 .../console/panels/SecurityQuestionsPanel.java     |   6 +-
 .../panels/TypeExtensionDirectoryPanel.java        |   6 +-
 .../client/console/panels/UserDirectoryPanel.java  | 168 +++----
 .../console/panels/search/AbstractSearchPanel.java |  16 +-
 .../panels/search/AnyObjectSearchPanel.java        |  23 +-
 .../panels/search/AnySelectionDirectoryPanel.java  |   4 +-
 .../console/panels/search/GroupSearchPanel.java    |  11 +-
 .../console/panels/search/SearchClausePanel.java   |  34 +-
 .../client/console/panels/search/SearchUtils.java  |   2 +-
 .../console/panels/search/UserSearchPanel.java     |   8 +-
 .../policies/AccountPolicyDirectoryPanel.java      |   8 +-
 .../policies/PasswordPolicyDirectoryPanel.java     |   8 +-
 .../console/policies/PolicyDirectoryPanel.java     |  14 +-
 .../console/policies/PolicyModalPanelBuilder.java  |   4 +-
 .../console/policies/PolicyRuleDirectoryPanel.java |  18 +-
 .../console/policies/PolicyRuleWizardBuilder.java  |   2 +-
 .../console/reports/ReportDirectoryPanel.java      |  38 +-
 .../console/reports/ReportExecutionDetails.java    |  20 +-
 .../reports/ReportTemplateDirectoryPanel.java      |  22 +-
 .../console/reports/ReportletDirectoryPanel.java   |  18 +-
 .../console/reports/ReportletWizardBuilder.java    |   2 +-
 .../client/console/rest/AbstractAnyRestClient.java |   2 +-
 .../client/console/rest/AnyObjectRestClient.java   |   4 +-
 .../client/console/rest/GroupRestClient.java       |   4 +-
 .../client/console/rest/RealmRestClient.java       |   4 +-
 .../client/console/rest/UserRestClient.java        |   6 +-
 .../syncope/client/console/tasks/CrontabPanel.java |   6 +-
 .../console/tasks/ExecutionsDirectoryPanel.java    |   8 +-
 .../tasks/NotificationTaskDirectoryPanel.java      |  10 +-
 .../tasks/PropagationTaskDirectoryPanel.java       |  12 +-
 .../tasks/ProvisioningTaskDirectoryPanel.java      |  12 +-
 .../console/tasks/PullTaskDirectoryPanel.java      |   2 +-
 .../client/console/tasks/PushTaskFilters.java      |  22 +-
 .../console/tasks/SchedTaskDirectoryPanel.java     |  52 +--
 .../console/tasks/SchedTaskWizardBuilder.java      |   6 +-
 .../syncope/client/console/tasks/SchedTasks.java   |   8 +-
 .../console/tasks/TaskAttributesDetailsView.java   |   2 +-
 .../client/console/tasks/TemplatesTogglePanel.java |   2 +-
 .../repeater/data/table/AjaxFallbackDataTable.java |  12 +-
 .../repeater/data/table/BatchResponseColumn.java   |   2 +-
 .../html/repeater/data/table/CheckGroupColumn.java |   2 +-
 .../markup/html/bootstrap/dialog/BaseModal.java    |   4 +-
 .../wicket/markup/html/form/ActionsPanel.java      |   2 +-
 .../markup/html/form/AjaxCharacterFieldPanel.java  |   6 +-
 .../markup/html/form/AjaxSearchFieldPanel.java     |  10 +-
 .../wicket/markup/html/form/BinaryFieldPanel.java  |   4 +-
 .../wicket/markup/html/form/MultiFieldPanel.java   |   2 +-
 .../client/console/widgets/AlertWidget.java        |   2 +-
 .../console/widgets/ItemTransformerWidget.java     |   2 +-
 .../console/widgets/JEXLTransformerWidget.java     |   2 +-
 .../syncope/client/console/widgets/JobWidget.java  |  60 +--
 .../client/console/widgets/ProgressesPanel.java    |   2 +-
 .../console/widgets/ReconDetailsModalPanel.java    |  16 +-
 .../console/widgets/ReconciliationWidget.java      |  36 +-
 .../console/wizards/DelegationWizardBuilder.java   |  20 +-
 .../client/console/wizards/WizardMgtPanel.java     |  10 +-
 .../console/wizards/any/ConnObjectPanel.java       |  36 +-
 .../client/console/wizards/any/DerAttrs.java       |  26 +-
 .../client/console/wizards/any/Details.java        |   2 +-
 .../console/wizards/any/DynamicMemberships.java    |  26 +-
 .../syncope/client/console/wizards/any/Groups.java |  59 +--
 .../client/console/wizards/any/Ownership.java      |  10 +-
 .../client/console/wizards/any/PlainAttrs.java     |  34 +-
 .../client/console/wizards/any/Relationships.java  |  10 +-
 .../client/console/wizards/any/ResultPage.java     |   2 +-
 .../syncope/client/console/wizards/any/Roles.java  |  20 +-
 .../client/console/wizards/any/StatusPanel.java    |   8 +-
 .../client/console/wizards/any/VirAttrs.java       |  32 +-
 .../wizards/mapping/AbstractMappingPanel.java      |  44 +-
 .../mapping/ItemTransformersTogglePanel.java       |   8 +-
 .../wizards/mapping/MappingPurposePanel.java       |   8 +-
 .../console/wizards/role/RoleWizardBuilder.java    |  24 +-
 .../syncope/client/enduser/PreferenceManager.java  |   2 +-
 .../client/enduser/SyncopeWebApplication.java      |  14 +-
 .../enduser/markup/html/form/BinaryFieldPanel.java |   4 +-
 .../enduser/markup/html/form/MultiFieldPanel.java  |   2 +-
 .../syncope/client/enduser/pages/BasePage.java     |   4 +-
 .../client/enduser/pages/EditSecurityQuestion.java |   4 +-
 .../client/enduser/pages/SelfPasswordReset.java    |   2 +-
 .../client/enduser/panels/ChangePasswordPanel.java |  14 +-
 .../syncope/client/enduser/panels/Sidebar.java     |  56 +--
 .../client/enduser/panels/any/DerAttrs.java        |  26 +-
 .../syncope/client/enduser/panels/any/Groups.java  |  40 +-
 .../client/enduser/panels/any/PlainAttrs.java      |  62 +--
 .../client/enduser/panels/any/Resources.java       |  24 +-
 .../client/enduser/panels/any/VirAttrs.java        |  38 +-
 .../client/enduser/rest/GroupRestClient.java       |   4 +-
 .../client/enduser/rest/UserSelfRestClient.java    |   6 +-
 .../client/lib/RestClientExceptionMapper.java      |   2 +-
 .../apache/syncope/client/lib/SyncopeClient.java   |   8 +-
 .../syncope/common/rest/api/beans/ReconQuery.java  |   4 +-
 .../common/lib/collections/CircularFifoQueue.java  |   2 +-
 .../search/AbstractFiqlSearchConditionBuilder.java |   2 +-
 .../syncope/common/lib/SerializationTest.java      |  12 +-
 .../common/rest/api/beans/ConnObjectTOQuery.java   |   4 +-
 .../core/rest/cxf/RestServiceExceptionMapper.java  |   2 +-
 .../rest/cxf/service/AnyObjectServiceTest.java     |   6 +-
 .../jpa/entity/JPAJSONEntityListener.java          |   2 +-
 .../jpa/content/XMLContentExporter.java            |   2 +-
 .../core/persistence/jpa/dao/JPAUserDAO.java       |   4 +-
 .../jpa/entity/auth/AbstractClientApp.java         |   4 +-
 .../jpa/entity/auth/JPAAuthProfile.java            |  20 +-
 .../jpa/entity/auth/JPAWAConfigEntry.java          |   4 +-
 .../core/provisioning/api/jexl/JexlUtils.java      |   2 +-
 .../provisioning/java/data/UserDataBinderImpl.java |   3 +-
 .../core/spring/policy/DefaultAccountRule.java     |   8 +-
 .../core/spring/policy/DefaultPasswordRule.java    |  10 +-
 .../spring/security/SyncopeJWTSSOProvider.java     |   4 +-
 .../console/panels/CamelRoutesDirectoryPanel.java  |   4 +-
 .../elasticsearch/client/ElasticsearchUtils.java   |   3 +-
 .../common/ui/panels/UserRequestFormPanel.java     |  74 +--
 .../console/panels/BpmnProcessDirectoryPanel.java  |  16 +-
 .../console/panels/UserRequestDirectoryPanel.java  |   2 +-
 .../panels/UserRequestFormDirectoryPanel.java      |  34 +-
 .../console/widgets/UserRequestFormsWidget.java    |   4 +-
 .../syncope/client/enduser/pages/Flowable.java     |  10 +-
 .../client/enduser/rest/UserRequestRestClient.java |   4 +-
 .../common/ui/panels/UserRequestFormPanel.java     |  76 ++--
 .../syncope/common/lib/to/SerializationTest.java   |   4 +-
 .../panels/AbstractOIDCSSOLoginFormPanel.java      |   6 +-
 .../panels/OIDCProvidersDirectoryPanel.java        |  28 +-
 .../console/wizards/OIDCProviderWizardBuilder.java |   4 +-
 .../panels/AbstractSAMLSSOLoginFormPanel.java      |   6 +-
 .../console/panels/SAML2IdPsDirectoryPanel.java    |  40 +-
 .../console/wizards/SAML2IdPWizardBuilder.java     |  10 +-
 .../console/panels/SCIMConfAccordionContainer.java |   2 +-
 .../panels/SCIMConfEnterpriseUserPanel.java        | 154 +++----
 .../console/panels/SCIMConfGeneralPanel.java       | 110 ++---
 .../client/console/panels/SCIMConfPanel.java       |   2 +-
 .../client/console/panels/SCIMConfUserPanel.java   | 506 ++++++++++-----------
 .../normalization/NormalizationInterceptor.java    |   4 +-
 .../fit/core/reference/ITImplementationLookup.java |  92 ++--
 .../org/apache/syncope/fit/AbstractITCase.java     |  20 +-
 .../org/apache/syncope/fit/core/BatchITCase.java   |  12 +-
 .../org/apache/syncope/fit/core/RealmITCase.java   |  12 +-
 .../syncope/fit/core/ReportTemplateITCase.java     |   3 +-
 .../org/apache/syncope/fit/core/RoleITCase.java    |   3 +-
 .../org/apache/syncope/fit/core/SCIMITCase.java    |  10 +-
 .../org/apache/syncope/fit/core/UserITCase.java    |  12 +-
 .../SyncopeWASAML2ClientKeystoreGeneratorTest.java |   2 +-
 262 files changed, 3081 insertions(+), 3066 deletions(-)

diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileDirectoryPanel.java
index 4384413..474957f 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileDirectoryPanel.java
@@ -119,35 +119,35 @@ public class AuthProfileDirectoryPanel
 
         columns.add(new PropertyColumn<>(new ResourceModel("owner"), "owner", "owner"));
 
-        columns.add(new BooleanConditionColumn<AuthProfileTO>(new StringResourceModel("impersonationAccounts")) {
+        columns.add(new BooleanConditionColumn<>(new StringResourceModel("impersonationAccounts")) {
 
             @Override
             protected boolean isCondition(final IModel<AuthProfileTO> rowModel) {
                 return !rowModel.getObject().getImpersonationAccounts().isEmpty();
             }
         });
-        columns.add(new BooleanConditionColumn<AuthProfileTO>(new StringResourceModel("googleMfaAuthTokens")) {
+        columns.add(new BooleanConditionColumn<>(new StringResourceModel("googleMfaAuthTokens")) {
 
             @Override
             protected boolean isCondition(final IModel<AuthProfileTO> rowModel) {
                 return !rowModel.getObject().getGoogleMfaAuthTokens().isEmpty();
             }
         });
-        columns.add(new BooleanConditionColumn<AuthProfileTO>(new StringResourceModel("googleMfaAuthAccounts")) {
+        columns.add(new BooleanConditionColumn<>(new StringResourceModel("googleMfaAuthAccounts")) {
 
             @Override
             protected boolean isCondition(final IModel<AuthProfileTO> rowModel) {
                 return !rowModel.getObject().getGoogleMfaAuthAccounts().isEmpty();
             }
         });
-        columns.add(new BooleanConditionColumn<AuthProfileTO>(new StringResourceModel("u2fRegisteredDevices")) {
+        columns.add(new BooleanConditionColumn<>(new StringResourceModel("u2fRegisteredDevices")) {
 
             @Override
             protected boolean isCondition(final IModel<AuthProfileTO> rowModel) {
                 return !rowModel.getObject().getU2FRegisteredDevices().isEmpty();
             }
         });
-        columns.add(new BooleanConditionColumn<AuthProfileTO>(new StringResourceModel("webAuthnAccount")) {
+        columns.add(new BooleanConditionColumn<>(new StringResourceModel("webAuthnAccount")) {
 
             @Override
             protected boolean isCondition(final IModel<AuthProfileTO> rowModel) {
@@ -162,7 +162,7 @@ public class AuthProfileDirectoryPanel
     public ActionsPanel<AuthProfileTO> getActions(final IModel<AuthProfileTO> model) {
         ActionsPanel<AuthProfileTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AuthProfileTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -170,44 +170,44 @@ public class AuthProfileDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final AuthProfileTO ignore) {
                 model.setObject(AuthProfileRestClient.read(model.getObject().getKey()));
                 target.add(authProfileModal.setContent(new ModalDirectoryPanel<>(
-                        authProfileModal,
-                        new AuthProfileItemDirectoryPanel<ImpersonationAccount>(
-                                "panel", authProfileModal, model.getObject(), pageRef) {
-
-                    @Override
-                    protected List<ImpersonationAccount> getItems() {
-                        return model.getObject().getImpersonationAccounts();
-                    }
-
-                    @Override
-                    protected ImpersonationAccount defaultItem() {
-                        return new ImpersonationAccount();
-                    }
-
-                    @Override
-                    protected String sortProperty() {
-                        return "impersonated";
-                    }
-
-                    @Override
-                    protected String paginatorRowsKey() {
-                        return AMConstants.PREF_AUTHPROFILE_IMPERSONATED_PAGINATOR_ROWS;
-                    }
-
-                    @Override
-                    protected List<IColumn<ImpersonationAccount, String>> getColumns() {
-                        List<IColumn<ImpersonationAccount, String>> columns = new ArrayList<>();
-                        columns.add(new PropertyColumn<>(new ResourceModel("impersonated"),
+                    authProfileModal,
+                    new AuthProfileItemDirectoryPanel<ImpersonationAccount>(
+                        "panel", authProfileModal, model.getObject(), pageRef) {
+
+                        @Override
+                        protected List<ImpersonationAccount> getItems() {
+                            return model.getObject().getImpersonationAccounts();
+                        }
+
+                        @Override
+                        protected ImpersonationAccount defaultItem() {
+                            return new ImpersonationAccount();
+                        }
+
+                        @Override
+                        protected String sortProperty() {
+                            return "impersonated";
+                        }
+
+                        @Override
+                        protected String paginatorRowsKey() {
+                            return AMConstants.PREF_AUTHPROFILE_IMPERSONATED_PAGINATOR_ROWS;
+                        }
+
+                        @Override
+                        protected List<IColumn<ImpersonationAccount, String>> getColumns() {
+                            List<IColumn<ImpersonationAccount, String>> columns = new ArrayList<>();
+                            columns.add(new PropertyColumn<>(new ResourceModel("impersonated"),
                                 "impersonated", "impersonated"));
-                        return columns;
-                    }
-                }, pageRef)));
+                            return columns;
+                        }
+                    }, pageRef)));
                 authProfileModal.header(new Model<>(getString("impersonationAccounts", model)));
                 authProfileModal.show(true);
             }
         }, ActionLink.ActionType.TYPE_EXTENSIONS, AMEntitlement.AUTH_PROFILE_UPDATE);
 
-        panel.add(new ActionLink<AuthProfileTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -215,44 +215,46 @@ public class AuthProfileDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final AuthProfileTO ignore) {
                 model.setObject(AuthProfileRestClient.read(model.getObject().getKey()));
                 target.add(authProfileModal.setContent(new ModalDirectoryPanel<>(
-                        authProfileModal,
-                        new AuthProfileItemDirectoryPanel<GoogleMfaAuthToken>(
-                                "panel", authProfileModal, model.getObject(), pageRef) {
-
-                    @Override
-                    protected List<GoogleMfaAuthToken> getItems() {
-                        return model.getObject().getGoogleMfaAuthTokens();
-                    }
-
-                    @Override
-                    protected GoogleMfaAuthToken defaultItem() {
-                        return new GoogleMfaAuthToken();
-                    }
-
-                    @Override
-                    protected String sortProperty() {
-                        return "issueDate";
-                    }
-
-                    @Override
-                    protected String paginatorRowsKey() {
-                        return AMConstants.PREF_AUTHPROFILE_GOOGLEMFAAUTHTOKENS_PAGINATOR_ROWS;
-                    }
-
-                    @Override
-                    protected List<IColumn<GoogleMfaAuthToken, String>> getColumns() {
-                        List<IColumn<GoogleMfaAuthToken, String>> columns = new ArrayList<>();
-                        columns.add(new DatePropertyColumn<>(new ResourceModel("issueDate"), "issueDate", "issueDate"));
-                        columns.add(new PropertyColumn<>(new ResourceModel("otp"), "otp", "otp"));
-                        return columns;
-                    }
-                }, pageRef)));
+                    authProfileModal,
+                    new AuthProfileItemDirectoryPanel<GoogleMfaAuthToken>(
+                        "panel", authProfileModal, model.getObject(), pageRef) {
+
+                        @Override
+                        protected List<GoogleMfaAuthToken> getItems() {
+                            return model.getObject().getGoogleMfaAuthTokens();
+                        }
+
+                        @Override
+                        protected GoogleMfaAuthToken defaultItem() {
+                            return new GoogleMfaAuthToken();
+                        }
+
+                        @Override
+                        protected String sortProperty() {
+                            return "issueDate";
+                        }
+
+                        @Override
+                        protected String paginatorRowsKey() {
+                            return AMConstants.PREF_AUTHPROFILE_GOOGLEMFAAUTHTOKENS_PAGINATOR_ROWS;
+                        }
+
+                        @Override
+                        protected List<IColumn<GoogleMfaAuthToken, String>> getColumns() {
+                            List<IColumn<GoogleMfaAuthToken, String>> columns = new ArrayList<>();
+                            columns.add(new DatePropertyColumn<>(
+                                new ResourceModel("issueDate"), "issueDate", "issueDate"));
+                            columns.add(new PropertyColumn<>(
+                                new ResourceModel("otp"), "otp", "otp"));
+                            return columns;
+                        }
+                    }, pageRef)));
                 authProfileModal.header(new Model<>(getString("googleMfaAuthTokens", model)));
                 authProfileModal.show(true);
             }
         }, ActionLink.ActionType.EDIT_APPROVAL, AMEntitlement.AUTH_PROFILE_UPDATE);
 
-        panel.add(new ActionLink<AuthProfileTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -260,46 +262,46 @@ public class AuthProfileDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final AuthProfileTO ignore) {
                 model.setObject(AuthProfileRestClient.read(model.getObject().getKey()));
                 target.add(authProfileModal.setContent(new ModalDirectoryPanel<>(
-                        authProfileModal,
-                        new AuthProfileItemDirectoryPanel<GoogleMfaAuthAccount>(
-                                "panel", authProfileModal, model.getObject(), pageRef) {
-
-                    @Override
-                    protected List<GoogleMfaAuthAccount> getItems() {
-                        return model.getObject().getGoogleMfaAuthAccounts();
-                    }
-
-                    @Override
-                    protected GoogleMfaAuthAccount defaultItem() {
-                        return new GoogleMfaAuthAccount();
-                    }
-
-                    @Override
-                    protected String sortProperty() {
-                        return "id";
-                    }
-
-                    @Override
-                    protected String paginatorRowsKey() {
-                        return AMConstants.PREF_AUTHPROFILE_GOOGLEMFAAUTHACCOUNTS_PAGINATOR_ROWS;
-                    }
-
-                    @Override
-                    protected List<IColumn<GoogleMfaAuthAccount, String>> getColumns() {
-                        List<IColumn<GoogleMfaAuthAccount, String>> columns = new ArrayList<>();
-                        columns.add(new PropertyColumn<>(new ResourceModel("id"), "id", "id"));
-                        columns.add(new DatePropertyColumn<>(
+                    authProfileModal,
+                    new AuthProfileItemDirectoryPanel<GoogleMfaAuthAccount>(
+                        "panel", authProfileModal, model.getObject(), pageRef) {
+
+                        @Override
+                        protected List<GoogleMfaAuthAccount> getItems() {
+                            return model.getObject().getGoogleMfaAuthAccounts();
+                        }
+
+                        @Override
+                        protected GoogleMfaAuthAccount defaultItem() {
+                            return new GoogleMfaAuthAccount();
+                        }
+
+                        @Override
+                        protected String sortProperty() {
+                            return "id";
+                        }
+
+                        @Override
+                        protected String paginatorRowsKey() {
+                            return AMConstants.PREF_AUTHPROFILE_GOOGLEMFAAUTHACCOUNTS_PAGINATOR_ROWS;
+                        }
+
+                        @Override
+                        protected List<IColumn<GoogleMfaAuthAccount, String>> getColumns() {
+                            List<IColumn<GoogleMfaAuthAccount, String>> columns = new ArrayList<>();
+                            columns.add(new PropertyColumn<>(new ResourceModel("id"), "id", "id"));
+                            columns.add(new DatePropertyColumn<>(
                                 new ResourceModel("registrationDate"), "registrationDate", "registrationDate"));
-                        columns.add(new PropertyColumn<>(new ResourceModel("name"), "name", "name"));
-                        return columns;
-                    }
-                }, pageRef)));
+                            columns.add(new PropertyColumn<>(new ResourceModel("name"), "name", "name"));
+                            return columns;
+                        }
+                    }, pageRef)));
                 authProfileModal.header(new Model<>(getString("googleMfaAuthAccounts", model)));
                 authProfileModal.show(true);
             }
         }, ActionLink.ActionType.EXECUTE, AMEntitlement.AUTH_PROFILE_UPDATE);
 
-        panel.add(new ActionLink<AuthProfileTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -307,46 +309,46 @@ public class AuthProfileDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final AuthProfileTO ignore) {
                 model.setObject(AuthProfileRestClient.read(model.getObject().getKey()));
                 target.add(authProfileModal.setContent(new ModalDirectoryPanel<>(
-                        authProfileModal,
-                        new AuthProfileItemDirectoryPanel<U2FDevice>(
-                                "panel", authProfileModal, model.getObject(), pageRef) {
-
-                    @Override
-                    protected List<U2FDevice> getItems() {
-                        return model.getObject().getU2FRegisteredDevices();
-                    }
-
-                    @Override
-                    protected U2FDevice defaultItem() {
-                        return new U2FDevice();
-                    }
-
-                    @Override
-                    protected String sortProperty() {
-                        return "id";
-                    }
-
-                    @Override
-                    protected String paginatorRowsKey() {
-                        return AMConstants.PREF_AUTHPROFILE_U2FDEVICES_PAGINATOR_ROWS;
-                    }
-
-                    @Override
-                    protected List<IColumn<U2FDevice, String>> getColumns() {
-                        List<IColumn<U2FDevice, String>> columns = new ArrayList<>();
-                        columns.add(new PropertyColumn<>(new ResourceModel("id"), "id", "id"));
-                        columns.add(new DatePropertyColumn<>(
+                    authProfileModal,
+                    new AuthProfileItemDirectoryPanel<U2FDevice>(
+                        "panel", authProfileModal, model.getObject(), pageRef) {
+
+                        @Override
+                        protected List<U2FDevice> getItems() {
+                            return model.getObject().getU2FRegisteredDevices();
+                        }
+
+                        @Override
+                        protected U2FDevice defaultItem() {
+                            return new U2FDevice();
+                        }
+
+                        @Override
+                        protected String sortProperty() {
+                            return "id";
+                        }
+
+                        @Override
+                        protected String paginatorRowsKey() {
+                            return AMConstants.PREF_AUTHPROFILE_U2FDEVICES_PAGINATOR_ROWS;
+                        }
+
+                        @Override
+                        protected List<IColumn<U2FDevice, String>> getColumns() {
+                            List<IColumn<U2FDevice, String>> columns = new ArrayList<>();
+                            columns.add(new PropertyColumn<>(new ResourceModel("id"), "id", "id"));
+                            columns.add(new DatePropertyColumn<>(
                                 new ResourceModel("issueDate"), "issueDate", "issueDate"));
-                        columns.add(new PropertyColumn<>(new ResourceModel("record"), "record", "record"));
-                        return columns;
-                    }
-                }, pageRef)));
+                            columns.add(new PropertyColumn<>(new ResourceModel("record"), "record", "record"));
+                            return columns;
+                        }
+                    }, pageRef)));
                 authProfileModal.header(new Model<>(getString("u2fRegisteredDevices", model)));
                 authProfileModal.show(true);
             }
         }, ActionLink.ActionType.FO_EDIT, AMEntitlement.AUTH_PROFILE_UPDATE);
 
-        panel.add(new ActionLink<AuthProfileTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -354,44 +356,46 @@ public class AuthProfileDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final AuthProfileTO ignore) {
                 model.setObject(AuthProfileRestClient.read(model.getObject().getKey()));
                 target.add(authProfileModal.setContent(new ModalDirectoryPanel<>(
-                        authProfileModal,
-                        new AuthProfileItemDirectoryPanel<WebAuthnDeviceCredential>(
-                                "panel", authProfileModal, model.getObject(), pageRef) {
-
-                    @Override
-                    protected List<WebAuthnDeviceCredential> getItems() {
-                        return model.getObject().getWebAuthnDeviceCredentials();
-                    }
-
-                    @Override
-                    protected WebAuthnDeviceCredential defaultItem() {
-                        return new WebAuthnDeviceCredential();
-                    }
-
-                    @Override
-                    protected String sortProperty() {
-                        return "identifier";
-                    }
-
-                    @Override
-                    protected String paginatorRowsKey() {
-                        return AMConstants.PREF_AUTHPROFILE_WEBAUTHNDEVICECREDENTIALS_PAGINATOR_ROWS;
-                    }
-
-                    @Override
-                    protected List<IColumn<WebAuthnDeviceCredential, String>> getColumns() {
-                        List<IColumn<WebAuthnDeviceCredential, String>> columns = new ArrayList<>();
-                        columns.add(new PropertyColumn<>(new ResourceModel("identifier"), "identifier", "identifier"));
-                        columns.add(new PropertyColumn<>(new ResourceModel("json"), "json", "json"));
-                        return columns;
-                    }
-                }, pageRef)));
+                    authProfileModal,
+                    new AuthProfileItemDirectoryPanel<WebAuthnDeviceCredential>(
+                        "panel", authProfileModal, model.getObject(), pageRef) {
+
+                        @Override
+                        protected List<WebAuthnDeviceCredential> getItems() {
+                            return model.getObject().getWebAuthnDeviceCredentials();
+                        }
+
+                        @Override
+                        protected WebAuthnDeviceCredential defaultItem() {
+                            return new WebAuthnDeviceCredential();
+                        }
+
+                        @Override
+                        protected String sortProperty() {
+                            return "identifier";
+                        }
+
+                        @Override
+                        protected String paginatorRowsKey() {
+                            return AMConstants.PREF_AUTHPROFILE_WEBAUTHNDEVICECREDENTIALS_PAGINATOR_ROWS;
+                        }
+
+                        @Override
+                        protected List<IColumn<WebAuthnDeviceCredential, String>> getColumns() {
+                            List<IColumn<WebAuthnDeviceCredential, String>> columns = new ArrayList<>();
+                            columns.add(new PropertyColumn<>(
+                                new ResourceModel("identifier"), "identifier", "identifier"));
+                            columns.add(new PropertyColumn<>(
+                                new ResourceModel("json"), "json", "json"));
+                            return columns;
+                        }
+                    }, pageRef)));
                 authProfileModal.header(new Model<>(getString("webAuthnDeviceCredentials", model)));
                 authProfileModal.show(true);
             }
         }, ActionLink.ActionType.HTML, AMEntitlement.AUTH_PROFILE_UPDATE);
 
-        panel.add(new ActionLink<AuthProfileTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
index 87d3951..5543a00 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/authprofiles/AuthProfileItemDirectoryPanel.java
@@ -113,18 +113,18 @@ public abstract class AuthProfileItemDirectoryPanel<I extends BaseBean>
     public ActionsPanel<I> getActions(final IModel<I> model) {
         ActionsPanel<I> panel = super.getActions(model);
 
-        panel.add(new ActionLink<I>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final I ignore) {
                 send(AuthProfileItemDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.AUTH_PROFILE_UPDATE);
 
-        panel.add(new ActionLink<I>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppDirectoryPanel.java
index d3742ee..9cdc7e7 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppDirectoryPanel.java
@@ -116,19 +116,19 @@ public abstract class ClientAppDirectoryPanel<T extends ClientAppTO>
     public ActionsPanel<T> getActions(final IModel<T> model) {
         ActionsPanel<T> panel = super.getActions(model);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ClientAppTO ignore) {
                 send(ClientAppDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                ClientAppRestClient.read(type, model.getObject().getKey()), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        ClientAppRestClient.read(type, model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.CLIENTAPP_UPDATE);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -136,15 +136,15 @@ public abstract class ClientAppDirectoryPanel<T extends ClientAppTO>
             public void onClick(final AjaxRequestTarget target, final ClientAppTO ignore) {
                 model.setObject(ClientAppRestClient.read(type, model.getObject().getKey()));
                 target.add(propertiesModal.setContent(new ModalDirectoryPanel<>(
-                        propertiesModal,
-                        new ClientAppPropertiesDirectoryPanel<>("panel", propertiesModal, type, model, pageRef),
-                        pageRef)));
+                    propertiesModal,
+                    new ClientAppPropertiesDirectoryPanel<>("panel", propertiesModal, type, model, pageRef),
+                    pageRef)));
                 propertiesModal.header(new Model<>(getString("properties.title", model)));
                 propertiesModal.show(true);
             }
         }, ActionLink.ActionType.TYPE_EXTENSIONS, AMEntitlement.CLIENTAPP_UPDATE);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -154,11 +154,11 @@ public abstract class ClientAppDirectoryPanel<T extends ClientAppTO>
                 clone.setKey(null);
                 clone.setClientAppId(null);
                 send(ClientAppDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(clone, target));
+                    new AjaxWizard.EditItemActionEvent<>(clone, target));
             }
         }, ActionLink.ActionType.CLONE, AMEntitlement.CLIENTAPP_CREATE);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java
index f6f522a..f0e06dc 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java
@@ -70,36 +70,36 @@ public class ClientAppModalPanelBuilder<T extends ClientAppTO> extends AbstractM
 
     private static final long serialVersionUID = 5945391813567245081L;
 
-    private final IModel<Map<String, String>> accessPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> accessPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.ACCESS).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> attrReleasePolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> attrReleasePolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.ATTR_RELEASE).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> authPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> authPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.AUTH).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
@@ -332,7 +332,7 @@ public class ClientAppModalPanelBuilder<T extends ClientAppTO> extends AbstractM
                 default:
             }
 
-            add(new ListView<Component>("fields", fields) {
+            add(new ListView<>("fields", fields) {
 
                 private static final long serialVersionUID = -9180479401817023838L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppPropertiesDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppPropertiesDirectoryPanel.java
index 3b05408..08eafb6 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppPropertiesDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppPropertiesDirectoryPanel.java
@@ -100,18 +100,18 @@ public class ClientAppPropertiesDirectoryPanel<T extends ClientAppTO> extends At
     protected ActionsPanel<Attr> getActions(final IModel<Attr> model) {
         ActionsPanel<Attr> panel = super.getActions(model);
 
-        panel.add(new ActionLink<Attr>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final Attr ignore) {
                 send(ClientAppPropertiesDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.CLIENTAPP_UPDATE);
 
-        panel.add(new ActionLink<Attr>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/OIDCRPDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/OIDCRPDirectoryPanel.java
index 09bb878..7a6ae15 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/OIDCRPDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/OIDCRPDirectoryPanel.java
@@ -52,7 +52,7 @@ public class OIDCRPDirectoryPanel extends ClientAppDirectoryPanel<OIDCRPClientAp
         columns.add(new PropertyColumn<>(new StringResourceModel("clientId", this), "clientId", "clientId"));
         columns.add(new PropertyColumn<>(
                 new StringResourceModel("redirectUris", this), "redirectUris", "redirectUris"));
-        columns.add(new BooleanConditionColumn<OIDCRPClientAppTO>(new StringResourceModel("logout")) {
+        columns.add(new BooleanConditionColumn<>(new StringResourceModel("logout")) {
 
             @Override
             protected boolean isCondition(final IModel<OIDCRPClientAppTO> rowModel) {
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/commons/AMRealmPolicyProvider.java b/client/am/console/src/main/java/org/apache/syncope/client/console/commons/AMRealmPolicyProvider.java
index 46684c5..174d031 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/commons/AMRealmPolicyProvider.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/commons/AMRealmPolicyProvider.java
@@ -38,36 +38,36 @@ public class AMRealmPolicyProvider extends IdRepoRealmPolicyProvider {
 
     private static final long serialVersionUID = 1671878489700L;
 
-    private final IModel<Map<String, String>> accessPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> accessPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.ACCESS).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> attrReleasePolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> attrReleasePolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.ATTR_RELEASE).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> authPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> authPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.AUTH).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AMSessionDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AMSessionDirectoryPanel.java
index 74ef526..9ad20da 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AMSessionDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AMSessionDirectoryPanel.java
@@ -115,7 +115,7 @@ public class AMSessionDirectoryPanel
     protected ActionsPanel<AMSession> getActions(final IModel<AMSession> model) {
         ActionsPanel<AMSession> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AMSession>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 22687128346032L;
 
@@ -123,12 +123,12 @@ public class AMSessionDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final AMSession ignore) {
                 viewModal.header(new ResourceModel("details"));
                 target.add(viewModal.setContent(
-                        new JsonEditorPanel(viewModal, Model.of(model.getObject().getJson()), true, pageRef)));
+                    new JsonEditorPanel(viewModal, Model.of(model.getObject().getJson()), true, pageRef)));
                 viewModal.show(true);
             }
         }, ActionLink.ActionType.VIEW, listEntitlement);
 
-        panel.add(new ActionLink<AMSession>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -4608353559809323466L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AuthModuleDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AuthModuleDirectoryPanel.java
index 5cb21fe..20512ed 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AuthModuleDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/AuthModuleDirectoryPanel.java
@@ -94,20 +94,20 @@ public class AuthModuleDirectoryPanel
                 Constants.KEY_FIELD_NAME, Constants.KEY_FIELD_NAME));
         columns.add(new PropertyColumn<>(new ResourceModel(Constants.DESCRIPTION_FIELD_NAME),
                 Constants.DESCRIPTION_FIELD_NAME, Constants.DESCRIPTION_FIELD_NAME));
-        columns.add(new PropertyColumn<AuthModuleTO, String>(new ResourceModel("type"), "conf") {
+        columns.add(new PropertyColumn<>(new ResourceModel("type"), "conf") {
 
             private static final long serialVersionUID = -1822504503325964706L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<AuthModuleTO>> item,
-                    final String componentId,
-                    final IModel<AuthModuleTO> rowModel) {
+                final Item<ICellPopulator<AuthModuleTO>> item,
+                final String componentId,
+                final IModel<AuthModuleTO> rowModel) {
 
                 item.add(new Label(componentId, rowModel.getObject().getConf() == null
-                        ? StringUtils.EMPTY
-                        : StringUtils.substringBefore(
-                                rowModel.getObject().getConf().getClass().getSimpleName(), "AuthModuleConf")));
+                    ? StringUtils.EMPTY
+                    : StringUtils.substringBefore(
+                    rowModel.getObject().getConf().getClass().getSimpleName(), "AuthModuleConf")));
             }
         });
         return columns;
@@ -117,18 +117,18 @@ public class AuthModuleDirectoryPanel
     public ActionsPanel<AuthModuleTO> getActions(final IModel<AuthModuleTO> model) {
         ActionsPanel<AuthModuleTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AuthModuleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final AuthModuleTO ignore) {
                 send(AuthModuleDirectoryPanel.this, Broadcast.EXACT, new AjaxWizard.EditItemActionEvent<>(
-                        AuthModuleRestClient.read(model.getObject().getKey()), target));
+                    AuthModuleRestClient.read(model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.AUTH_MODULE_UPDATE);
 
-        panel.add(new ActionLink<AuthModuleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/OIDC.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/OIDC.java
index ab04dda..0c5a9b7 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/OIDC.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/OIDC.java
@@ -50,7 +50,7 @@ public class OIDC extends Panel {
 
     private static final ObjectMapper MAPPER = new ObjectMapper();
 
-    private final BaseModal<String> viewModal = new BaseModal<String>("viewModal") {
+    private final BaseModal<String> viewModal = new BaseModal<>("viewModal") {
 
         private static final long serialVersionUID = 389935548143327858L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPEntityDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPEntityDirectoryPanel.java
index a870a68..9523053 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPEntityDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPEntityDirectoryPanel.java
@@ -84,18 +84,18 @@ public class SAML2IdPEntityDirectoryPanel extends DirectoryPanel<
         columns.add(new PropertyColumn<>(
                 new StringResourceModel(Constants.KEY_FIELD_NAME, this),
                 Constants.KEY_FIELD_NAME, Constants.KEY_FIELD_NAME));
-        columns.add(new AbstractColumn<SAML2IdPEntityTO, String>(Model.of("URL")) {
+        columns.add(new AbstractColumn<>(Model.of("URL")) {
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<SAML2IdPEntityTO>> cellItem,
-                    final String componentId,
-                    final IModel<SAML2IdPEntityTO> rowModel) {
+                final Item<ICellPopulator<SAML2IdPEntityTO>> cellItem,
+                final String componentId,
+                final IModel<SAML2IdPEntityTO> rowModel) {
 
                 cellItem.add(new ExternalLink(
-                        componentId,
-                        Model.of(metadataURL),
-                        Model.of(metadataURL)) {
+                    componentId,
+                    Model.of(metadataURL),
+                    Model.of(metadataURL)) {
 
                     @Override
                     protected void onComponentTag(final ComponentTag tag) {
@@ -118,15 +118,15 @@ public class SAML2IdPEntityDirectoryPanel extends DirectoryPanel<
     protected ActionsPanel<SAML2IdPEntityTO> getActions(final IModel<SAML2IdPEntityTO> model) {
         ActionsPanel<SAML2IdPEntityTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<SAML2IdPEntityTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final SAML2IdPEntityTO ignore) {
                 send(SAML2IdPEntityDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                SAML2IdPEntityRestClient.get(model.getObject().getKey()), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        SAML2IdPEntityRestClient.get(model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.SAML2_IDP_ENTITY_SET);
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2SPEntityDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2SPEntityDirectoryPanel.java
index 8a67cd2..faafbfc 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2SPEntityDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SAML2SPEntityDirectoryPanel.java
@@ -92,19 +92,19 @@ public class SAML2SPEntityDirectoryPanel extends DirectoryPanel<
                 new StringResourceModel(Constants.KEY_FIELD_NAME, this),
                 Constants.KEY_FIELD_NAME, Constants.KEY_FIELD_NAME));
 
-        columns.add(new AbstractColumn<SAML2SPEntityTO, String>(Model.of("URL")) {
+        columns.add(new AbstractColumn<>(Model.of("URL")) {
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<SAML2SPEntityTO>> cellItem,
-                    final String componentId,
-                    final IModel<SAML2SPEntityTO> rowModel) {
+                final Item<ICellPopulator<SAML2SPEntityTO>> cellItem,
+                final String componentId,
+                final IModel<SAML2SPEntityTO> rowModel) {
 
                 String metadataURL = waPrefix + "/sp/" + rowModel.getObject().getKey() + "/metadata";
                 cellItem.add(new ExternalLink(
-                        componentId,
-                        Model.of(metadataURL),
-                        Model.of(metadataURL)) {
+                    componentId,
+                    Model.of(metadataURL),
+                    Model.of(metadataURL)) {
 
                     @Override
                     protected void onComponentTag(final ComponentTag tag) {
@@ -127,19 +127,19 @@ public class SAML2SPEntityDirectoryPanel extends DirectoryPanel<
     protected ActionsPanel<SAML2SPEntityTO> getActions(final IModel<SAML2SPEntityTO> model) {
         ActionsPanel<SAML2SPEntityTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<SAML2SPEntityTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final SAML2SPEntityTO ignore) {
                 send(SAML2SPEntityDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                SAML2SPEntityRestClient.get(model.getObject().getKey()), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        SAML2SPEntityRestClient.get(model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.SAML2_SP_ENTITY_SET);
 
-        panel.add(new ActionLink<SAML2SPEntityTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteDirectoryPanel.java
index 2357cb1..b8f73fc 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteDirectoryPanel.java
@@ -93,19 +93,19 @@ public class SRARouteDirectoryPanel
     protected ActionsPanel<SRARouteTO> getActions(final IModel<SRARouteTO> model) {
         ActionsPanel<SRARouteTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<SRARouteTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -4608353559809323466L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final SRARouteTO ignore) {
                 send(SRARouteDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                SRARouteRestClient.read(model.getObject().getKey()), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        SRARouteRestClient.read(model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.SRA_ROUTE_UPDATE);
 
-        panel.add(new ActionLink<SRARouteTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -4608353559809323466L;
 
@@ -114,11 +114,11 @@ public class SRARouteDirectoryPanel
                 SRARouteTO clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(SRARouteDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(clone, target));
+                    new AjaxWizard.EditItemActionEvent<>(clone, target));
             }
         }, ActionLink.ActionType.CLONE, AMEntitlement.SRA_ROUTE_CREATE);
 
-        panel.add(new ActionLink<SRARouteTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -4608353559809323466L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteFilterPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteFilterPanel.java
index 8500910..d072eb6 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteFilterPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteFilterPanel.java
@@ -66,7 +66,7 @@ public class SRARouteFilterPanel extends Panel {
             }
         }));
 
-        ListView<SRARouteFilter> filters = new ListView<SRARouteFilter>("filters", model) {
+        ListView<SRARouteFilter> filters = new ListView<>("filters", model) {
 
             private static final long serialVersionUID = 6741044372185745296L;
 
@@ -75,16 +75,16 @@ public class SRARouteFilterPanel extends Panel {
                 SRARouteFilter filter = item.getModelObject();
 
                 AjaxDropDownChoicePanel<SRARouteFilterFactory> factory =
-                        new AjaxDropDownChoicePanel<>("factory", "factory", new PropertyModel<>(filter, "factory"));
+                    new AjaxDropDownChoicePanel<>("factory", "factory", new PropertyModel<>(filter, "factory"));
                 factory.setChoices(List.of(SRARouteFilterFactory.values()));
                 item.add(factory.hideLabel());
 
                 AjaxTextFieldPanel args =
-                        new AjaxTextFieldPanel("args", "args", new PropertyModel<>(filter, "args"));
+                    new AjaxTextFieldPanel("args", "args", new PropertyModel<>(filter, "args"));
                 item.add(args.hideLabel());
 
                 ActionsPanel<Serializable> actions = new ActionsPanel<>("actions", null);
-                actions.add(new ActionLink<Serializable>() {
+                actions.add(new ActionLink<>() {
 
                     private static final long serialVersionUID = 2041211756396714619L;
 
@@ -98,7 +98,7 @@ public class SRARouteFilterPanel extends Panel {
                 }, ActionLink.ActionType.DELETE, StringUtils.EMPTY, true).hideLabel();
                 if (model.getObject().size() > 1) {
                     if (item.getIndex() > 0) {
-                        actions.add(new ActionLink<Serializable>() {
+                        actions.add(new ActionLink<>() {
 
                             private static final long serialVersionUID = 2041211756396714619L;
 
@@ -114,7 +114,7 @@ public class SRARouteFilterPanel extends Panel {
                         }, ActionLink.ActionType.UP, StringUtils.EMPTY).hideLabel();
                     }
                     if (item.getIndex() < model.getObject().size() - 1) {
-                        actions.add(new ActionLink<Serializable>() {
+                        actions.add(new ActionLink<>() {
 
                             private static final long serialVersionUID = 2041211756396714619L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARoutePredicatePanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARoutePredicatePanel.java
index e81fa5b..db542e0 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARoutePredicatePanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARoutePredicatePanel.java
@@ -68,7 +68,7 @@ public class SRARoutePredicatePanel extends Panel {
             }
         }));
 
-        ListView<SRARoutePredicate> predicates = new ListView<SRARoutePredicate>("predicates", model) {
+        ListView<SRARoutePredicate> predicates = new ListView<>("predicates", model) {
 
             private static final long serialVersionUID = 1814616131938968887L;
 
@@ -77,25 +77,25 @@ public class SRARoutePredicatePanel extends Panel {
                 SRARoutePredicate predicate = item.getModelObject();
 
                 AjaxCheckBoxPanel negate =
-                        new AjaxCheckBoxPanel("negate", "negate", new PropertyModel<>(predicate, "negate"));
+                    new AjaxCheckBoxPanel("negate", "negate", new PropertyModel<>(predicate, "negate"));
                 item.add(negate.hideLabel());
 
                 AjaxDropDownChoicePanel<SRARoutePredicateFactory> factory =
-                        new AjaxDropDownChoicePanel<>("factory", "factory", new PropertyModel<>(predicate, "factory"));
+                    new AjaxDropDownChoicePanel<>("factory", "factory", new PropertyModel<>(predicate, "factory"));
                 factory.setChoices(List.of(SRARoutePredicateFactory.values()));
                 item.add(factory.hideLabel());
 
                 AjaxTextFieldPanel args =
-                        new AjaxTextFieldPanel("args", "args", new PropertyModel<>(predicate, "args"));
+                    new AjaxTextFieldPanel("args", "args", new PropertyModel<>(predicate, "args"));
                 item.add(args.hideLabel());
 
                 AjaxDropDownChoicePanel<SRARoutePredicateCond> cond =
-                        new AjaxDropDownChoicePanel<>("cond", "cond", new PropertyModel<>(predicate, "cond"));
+                    new AjaxDropDownChoicePanel<>("cond", "cond", new PropertyModel<>(predicate, "cond"));
                 cond.setChoices(List.of(SRARoutePredicateCond.values()));
                 item.add(cond.hideLabel());
 
                 ActionsPanel<Serializable> actions = new ActionsPanel<>("actions", null);
-                actions.add(new ActionLink<Serializable>() {
+                actions.add(new ActionLink<>() {
 
                     private static final long serialVersionUID = -3722207913631435501L;
 
@@ -109,7 +109,7 @@ public class SRARoutePredicatePanel extends Panel {
                 }, ActionLink.ActionType.DELETE, StringUtils.EMPTY, true).hideLabel();
                 if (model.getObject().size() > 1) {
                     if (item.getIndex() > 0) {
-                        actions.add(new ActionLink<Serializable>() {
+                        actions.add(new ActionLink<>() {
 
                             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -125,7 +125,7 @@ public class SRARoutePredicatePanel extends Panel {
                         }, ActionLink.ActionType.UP, StringUtils.EMPTY).hideLabel();
                     }
                     if (item.getIndex() < model.getObject().size() - 1) {
-                        actions.add(new ActionLink<Serializable>() {
+                        actions.add(new ActionLink<>() {
 
                             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteWizardBuilder.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteWizardBuilder.java
index be3c6ac..96230f6 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteWizardBuilder.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRARouteWizardBuilder.java
@@ -76,7 +76,7 @@ public class SRARouteWizardBuilder extends BaseAjaxWizardBuilder<SRARouteTO> {
                     new PropertyModel<>(route, Constants.NAME_FIELD_NAME), false).
                     addRequiredLabel().setEnabled(true));
 
-            AjaxTextFieldPanel target = new AjaxTextFieldPanel("target", "target", new IModel<String>() {
+            AjaxTextFieldPanel target = new AjaxTextFieldPanel("target", "target", new IModel<>() {
 
                 private static final long serialVersionUID = 1015030402166681242L;
 
@@ -98,7 +98,7 @@ public class SRARouteWizardBuilder extends BaseAjaxWizardBuilder<SRARouteTO> {
             target.getField().add(new UrlValidator(new String[] { "http", "https" }));
             add(target);
 
-            AjaxTextFieldPanel error = new AjaxTextFieldPanel("error", "error", new IModel<String>() {
+            AjaxTextFieldPanel error = new AjaxTextFieldPanel("error", "error", new IModel<>() {
 
                 private static final long serialVersionUID = 1015030402166681242L;
 
@@ -127,7 +127,7 @@ public class SRARouteWizardBuilder extends BaseAjaxWizardBuilder<SRARouteTO> {
 
             add(new AjaxCheckBoxPanel("logout", "logout", new PropertyModel<>(route, "logout")));
 
-            AjaxTextFieldPanel postLogout = new AjaxTextFieldPanel("postLogout", "postLogout", new IModel<String>() {
+            AjaxTextFieldPanel postLogout = new AjaxTextFieldPanel("postLogout", "postLogout", new IModel<>() {
 
                 private static final long serialVersionUID = 1015030402166681242L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRAStatisticsPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRAStatisticsPanel.java
index c8467fb..5709553 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRAStatisticsPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/SRAStatisticsPanel.java
@@ -57,14 +57,14 @@ public class SRAStatisticsPanel extends Panel {
     private final List<Pair<String, String>> selected = new ArrayList<>();
 
     private final LoadableDetachableModel<Map<String, String>> routes =
-            new LoadableDetachableModel<Map<String, String>>() {
+        new LoadableDetachableModel<>() {
 
-        @Override
-        protected Map<String, String> load() {
-            return SRARouteRestClient.list().stream().
+            @Override
+            protected Map<String, String> load() {
+                return SRARouteRestClient.list().stream().
                     collect(Collectors.toMap(SRARouteTO::getKey, SRARouteTO::getName));
-        }
-    };
+            }
+        };
 
     private int current;
 
@@ -91,7 +91,7 @@ public class SRAStatisticsPanel extends Panel {
             protected void populateItem(final ListItem<SRAStatistics.Tag> tag) {
                 String btnCss = next().cssClassName();
                 tag.add(new Label("label", tag.getModelObject().getTag()));
-                tag.add(new ListView<String>("tag", tag.getModelObject().getValues()) {
+                tag.add(new ListView<>("tag", tag.getModelObject().getValues()) {
 
                     @Override
                     protected void populateItem(final ListItem<String> value) {
@@ -100,7 +100,7 @@ public class SRAStatisticsPanel extends Panel {
                             @Override
                             public void onClick(final AjaxRequestTarget target) {
                                 Pair<String, String> selection =
-                                        Pair.of(tag.getModelObject().getTag(), value.getModelObject());
+                                    Pair.of(tag.getModelObject().getTag(), value.getModelObject());
                                 if (selected.contains(selection)) {
                                     selected.remove(selection);
                                 } else {
@@ -126,8 +126,8 @@ public class SRAStatisticsPanel extends Panel {
                         };
 
                         IModel<String> valueLabel = routes.getObject().containsKey(value.getModelObject())
-                                ? Model.of(routes.getObject().get(value.getModelObject()))
-                                : value.getModel();
+                            ? Model.of(routes.getObject().get(value.getModelObject()))
+                            : value.getModel();
                         valueLink.add(new Label("valueLabel", valueLabel));
                         value.add(valueLink);
                     }
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/WAConfigDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/WAConfigDirectoryPanel.java
index 8fc4c9f..9dfc8d7 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/panels/WAConfigDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/panels/WAConfigDirectoryPanel.java
@@ -70,7 +70,7 @@ public class WAConfigDirectoryPanel extends AttrListDirectoryPanel {
     public ActionsPanel<Attr> getActions(final IModel<Attr> model) {
         ActionsPanel<Attr> panel = super.getActions(model);
 
-        panel.add(new ActionLink<Attr>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -83,7 +83,7 @@ public class WAConfigDirectoryPanel extends AttrListDirectoryPanel {
             }
         }, ActionLink.ActionType.EDIT, AMEntitlement.WA_CONFIG_SET);
 
-        panel.add(new ActionLink<Attr>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AccessPolicyDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AccessPolicyDirectoryPanel.java
index 35cd4ca..4bb4920 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AccessPolicyDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AccessPolicyDirectoryPanel.java
@@ -62,7 +62,7 @@ public class AccessPolicyDirectoryPanel extends PolicyDirectoryPanel<AccessPolic
 
     @Override
     protected void addCustomActions(final ActionsPanel<AccessPolicyTO> panel, final IModel<AccessPolicyTO> model) {
-        panel.add(new ActionLink<AccessPolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -73,9 +73,9 @@ public class AccessPolicyDirectoryPanel extends PolicyDirectoryPanel<AccessPolic
                     model.getObject().setConf(new DefaultAccessPolicyConf());
                 }
                 target.add(ruleCompositionModal.setContent(new ModalDirectoryPanel<>(
-                        ruleCompositionModal,
-                        new AccessPolicyRequiredAttrsDirectoryPanel("panel", ruleCompositionModal, model, pageRef),
-                        pageRef)));
+                    ruleCompositionModal,
+                    new AccessPolicyRequiredAttrsDirectoryPanel("panel", ruleCompositionModal, model, pageRef),
+                    pageRef)));
                 ruleCompositionModal.header(new Model<>(getString("requiredAttrs.title", model)));
                 ruleCompositionModal.show(true);
             }
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AttrReleasePolicyDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AttrReleasePolicyDirectoryPanel.java
index b1ca139..206a74b 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AttrReleasePolicyDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AttrReleasePolicyDirectoryPanel.java
@@ -52,7 +52,7 @@ public class AttrReleasePolicyDirectoryPanel extends PolicyDirectoryPanel<AttrRe
             final ActionsPanel<AttrReleasePolicyTO> panel,
             final IModel<AttrReleasePolicyTO> model) {
 
-        panel.add(new ActionLink<AttrReleasePolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -63,7 +63,7 @@ public class AttrReleasePolicyDirectoryPanel extends PolicyDirectoryPanel<AttrRe
                     model.getObject().setConf(new DefaultAttrReleasePolicyConf());
                 }
                 target.add(policySpecModal.setContent(
-                        new AttrReleasePolicyModalPanel(policySpecModal, model, pageRef)));
+                    new AttrReleasePolicyModalPanel(policySpecModal, model, pageRef)));
                 policySpecModal.header(new Model<>(getString("attrReleasePolicyConf.title", model)));
                 policySpecModal.show(true);
             }
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyDirectoryPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyDirectoryPanel.java
index b0b493b..99a6902 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyDirectoryPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyDirectoryPanel.java
@@ -50,7 +50,7 @@ public class AuthPolicyDirectoryPanel extends PolicyDirectoryPanel<AuthPolicyTO>
     @Override
     protected void addCustomActions(final ActionsPanel<AuthPolicyTO> panel, final IModel<AuthPolicyTO> model) {
 
-        panel.add(new ActionLink<AuthPolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -61,7 +61,7 @@ public class AuthPolicyDirectoryPanel extends PolicyDirectoryPanel<AuthPolicyTO>
                     model.getObject().setConf(new DefaultAuthPolicyConf());
                 }
                 target.add(policySpecModal.setContent(
-                        new AuthPolicyModalPanel(policySpecModal, model, pageRef)));
+                    new AuthPolicyModalPanel(policySpecModal, model, pageRef)));
                 policySpecModal.header(new Model<>(getString("authPolicyConf.title", model)));
                 policySpecModal.show(true);
             }
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
index ad50eb4..98ffa46 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
@@ -42,7 +42,7 @@ public class AuthPolicyModalPanel extends AbstractModalPanel<AuthPolicyTO> {
 
     private static final long serialVersionUID = 1L;
 
-    private final IModel<List<String>> allAuthModules = new LoadableDetachableModel<List<String>>() {
+    private final IModel<List<String>> allAuthModules = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/rest/SRASessionRestClient.java b/client/am/console/src/main/java/org/apache/syncope/client/console/rest/SRASessionRestClient.java
index e661531..a45aa58 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/rest/SRASessionRestClient.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/rest/SRASessionRestClient.java
@@ -53,7 +53,7 @@ public final class SRASessionRestClient extends AMSessionRestClient {
 
             Response response = client.get();
             if (response.getStatus() == Response.Status.OK.getStatusCode()) {
-                return response.readEntity(new GenericType<List<AMSession>>() {
+                return response.readEntity(new GenericType<>() {
                 });
             }
 
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/rest/WASessionRestClient.java b/client/am/console/src/main/java/org/apache/syncope/client/console/rest/WASessionRestClient.java
index 474d6ac..fd166c4 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/rest/WASessionRestClient.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/rest/WASessionRestClient.java
@@ -67,8 +67,8 @@ public final class WASessionRestClient extends AMSessionRestClient {
                 JsonNode node = MAPPER.readTree((InputStream) response.getEntity());
                 if (node.has("activeSsoSessions")) {
                     return MAPPER.readValue(MAPPER.treeAsTokens(node.get("activeSsoSessions")),
-                            new TypeReference<List<AMSession>>() {
-                    });
+                        new TypeReference<>() {
+                        });
                 }
             } else {
                 LOG.error("Unexpected response for SSO Sessions from {}: {}",
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/wizards/AuthModuleWizardBuilder.java b/client/am/console/src/main/java/org/apache/syncope/client/console/wizards/AuthModuleWizardBuilder.java
index 8aeb245..5b7e433 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/wizards/AuthModuleWizardBuilder.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/wizards/AuthModuleWizardBuilder.java
@@ -52,14 +52,14 @@ public class AuthModuleWizardBuilder extends BaseAjaxWizardBuilder<AuthModuleTO>
 
         super(defaultItem, pageRef);
 
-        authModuleConfs = new LoadableDetachableModel<List<String>>() {
+        authModuleConfs = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return SyncopeWebApplication.get().getLookup().getClasses(AuthModuleConf.class).stream().
-                        map(Class::getName).sorted().collect(Collectors.toList());
+                    map(Class::getName).sorted().collect(Collectors.toList());
             }
         };
     }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java
index a9a476a..9ae3516 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionLinksProvider.java
@@ -61,22 +61,22 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
 
         List<Action<UserTO>> actions = new ArrayList<>();
 
-        Action<UserTO> enable = new Action<>(new ActionLink<UserTO>() {
+        Action<UserTO> enable = new Action<>(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                 IModel<AnyWrapper<UserTO>> formModel = new CompoundPropertyModel<>(
-                        new AnyWrapper<>(model.getObject()));
+                    new AnyWrapper<>(model.getObject()));
                 modal.setFormModel(formModel);
 
                 target.add(modal.setContent(new AnyStatusModal<>(
-                        modal,
-                        pageRef,
-                        formModel.getObject().getInnerObject(),
-                        "resource",
-                        true)));
+                    modal,
+                    pageRef,
+                    formModel.getObject().getInnerObject(),
+                    "resource",
+                    true)));
 
                 modal.header(new Model<>(header));
 
@@ -88,7 +88,7 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
         enable.setRealms(realm, model.getObject().getDynRealms());
         actions.add(enable);
 
-        Action<UserTO> manageResources = new Action<>(new ActionLink<UserTO>() {
+        Action<UserTO> manageResources = new Action<>(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -96,15 +96,15 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
             public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                 model.setObject(new UserRestClient().read(model.getObject().getKey()));
                 IModel<AnyWrapper<UserTO>> formModel = new CompoundPropertyModel<>(
-                        new AnyWrapper<>(model.getObject()));
+                    new AnyWrapper<>(model.getObject()));
                 modal.setFormModel(formModel);
 
                 target.add(modal.setContent(new AnyStatusModal<>(
-                        modal,
-                        pageRef,
-                        formModel.getObject().getInnerObject(),
-                        "resource",
-                        false)));
+                    modal,
+                    pageRef,
+                    formModel.getObject().getInnerObject(),
+                    "resource",
+                    false)));
 
                 modal.header(new Model<>(header));
 
@@ -117,7 +117,7 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
         manageResources.setRealms(realm, model.getObject().getDynRealms());
         actions.add(manageResources);
 
-        Action<UserTO> manageAccounts = new Action<>(new ActionLink<UserTO>() {
+        Action<UserTO> manageAccounts = new Action<>(new ActionLink<>() {
 
             private static final long serialVersionUID = 8011039414597736111L;
 
@@ -138,7 +138,7 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
         manageAccounts.setRealms(realm, model.getObject().getDynRealms());
         actions.add(manageAccounts);
 
-        Action<UserTO> mergeAccounts = new Action<>(new ActionLink<UserTO>() {
+        Action<UserTO> mergeAccounts = new Action<>(new ActionLink<>() {
 
             private static final long serialVersionUID = 8011039414597736111L;
 
@@ -146,7 +146,7 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
             public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                 model.setObject(new UserRestClient().read(model.getObject().getKey()));
                 MergeLinkedAccountsWizardBuilder builder =
-                        new MergeLinkedAccountsWizardBuilder(model, pageRef, parentPanel, modal);
+                    new MergeLinkedAccountsWizardBuilder(model, pageRef, parentPanel, modal);
                 builder.setEventSink(builder);
                 target.add(modal.setContent(builder.build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
                 modal.header(new StringResourceModel("mergeLinkedAccounts.title", model));
@@ -172,22 +172,22 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
 
         List<Action<GroupTO>> actions = new ArrayList<>();
 
-        Action<GroupTO> manageResources = new Action<>(new ActionLink<GroupTO>() {
+        Action<GroupTO> manageResources = new Action<>(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
                 IModel<AnyWrapper<GroupTO>> formModel = new CompoundPropertyModel<>(
-                        new AnyWrapper<>(modelObject));
+                    new AnyWrapper<>(modelObject));
                 modal.setFormModel(formModel);
 
                 target.add(modal.setContent(new AnyStatusModal<>(
-                        modal,
-                        pageRef,
-                        formModel.getObject().getInnerObject(),
-                        "resource",
-                        false)));
+                    modal,
+                    pageRef,
+                    formModel.getObject().getInnerObject(),
+                    "resource",
+                    false)));
 
                 modal.header(new Model<>(header));
 
@@ -215,22 +215,22 @@ public class IdMAnyDirectoryPanelAdditionalActionLinksProvider
 
         List<Action<AnyObjectTO>> actions = new ArrayList<>();
 
-        Action<AnyObjectTO> manageResources = new Action<>(new ActionLink<AnyObjectTO>() {
+        Action<AnyObjectTO> manageResources = new Action<>(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
                 final IModel<AnyWrapper<AnyObjectTO>> formModel = new CompoundPropertyModel<>(
-                        new AnyWrapper<>(modelObject));
+                    new AnyWrapper<>(modelObject));
                 modal.setFormModel(formModel);
 
                 target.add(modal.setContent(new AnyStatusModal<>(
-                        modal,
-                        pageRef,
-                        formModel.getObject().getInnerObject(),
-                        "resource",
-                        false)));
+                    modal,
+                    pageRef,
+                    formModel.getObject().getInnerObject(),
+                    "resource",
+                    false)));
 
                 modal.header(new Model<>(header));
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java
index 588bee6..32d2ebf 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java
@@ -84,15 +84,15 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
             public void onEvent(final IEvent<?> event) {
                 if (event.getPayload() instanceof AjaxWizard.NewItemCancelEvent) {
                     ((AjaxWizard.NewItemCancelEvent<?>) event.getPayload()).getTarget().
-                            ifPresent(target -> modal.close(target));
+                            ifPresent(modal::close);
                 } else if (event.getPayload() instanceof AjaxWizard.NewItemFinishEvent) {
                     AjaxWizard.NewItemFinishEvent<?> payload = (AjaxWizard.NewItemFinishEvent) event.getPayload();
                     Optional<AjaxRequestTarget> target = payload.getTarget();
 
                     if (payload.getResult() instanceof ArrayList) {
-                        modal.setContent(new ResultPage<Serializable>(
-                                null,
-                                payload.getResult()) {
+                        modal.setContent(new ResultPage<>(
+                            null,
+                            payload.getResult()) {
 
                             private static final long serialVersionUID = -2630573849050255233L;
 
@@ -103,7 +103,7 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
 
                             @Override
                             protected Panel customResultBody(
-                                    final String id, final Serializable item, final Serializable result) {
+                                final String id, final Serializable item, final Serializable result) {
 
                                 @SuppressWarnings("unchecked")
                                 ArrayList<ProvisioningReport> reports = (ArrayList<ProvisioningReport>) result;
@@ -131,7 +131,7 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
         };
         csvEventSink.add(csvDownloadBehavior);
         panel.addOuterObject(csvEventSink);
-        csvPushLink = new AjaxLink<Void>("csvPush") {
+        csvPushLink = new AjaxLink<>("csvPush") {
 
             private static final long serialVersionUID = -817438685948164787L;
 
@@ -141,8 +141,8 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
                 AnyQuery query = csvAnyQuery(realm, fiql, rows, panel.getDataProvider());
 
                 target.add(modal.setContent(new CSVPushWizardBuilder(spec, query, csvDownloadBehavior, pageRef).
-                        setEventSink(csvEventSink).
-                        build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT)));
+                    setEventSink(csvEventSink).
+                    build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT)));
 
                 modal.header(new StringResourceModel("csvPush", panel, Model.of(spec)));
                 modal.show(true);
@@ -152,7 +152,7 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
         MetaDataRoleAuthorizationStrategy.authorize(csvPushLink, Component.RENDER,
                 String.format("%s,%s", IdRepoEntitlement.IMPLEMENTATION_LIST, IdRepoEntitlement.TASK_EXECUTE));
         panel.addInnerObject(csvPushLink.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
-        csvPullLink = new AjaxLink<Void>("csvPull") {
+        csvPullLink = new AjaxLink<>("csvPull") {
 
             private static final long serialVersionUID = -817438685948164787L;
 
@@ -161,8 +161,8 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
                 CSVPullSpec spec = csvPullSpec(type, realm);
 
                 target.add(modal.setContent(new CSVPullWizardBuilder(spec, pageRef).
-                        setEventSink(csvEventSink).
-                        build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT)));
+                    setEventSink(csvEventSink).
+                    build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT)));
 
                 modal.header(new StringResourceModel("csvPull", panel, Model.of(spec)));
                 modal.show(true);
@@ -186,10 +186,10 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto
                 collect(Collectors.toList()));
         spec.setPlainAttrs(PreferenceManager.getList(
                 DisplayAttributesModalPanel.getPrefPlainAttributeView(type)).
-                stream().filter(name -> pSchemaNames.contains(name)).collect(Collectors.toList()));
+                stream().filter(pSchemaNames::contains).collect(Collectors.toList()));
         spec.setDerAttrs(PreferenceManager.getList(
                 DisplayAttributesModalPanel.getPrefPlainAttributeView(type)).
-                stream().filter(name -> dSchemaNames.contains(name)).collect(Collectors.toList()));
+                stream().filter(dSchemaNames::contains).collect(Collectors.toList()));
         return spec;
     }
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java
index 0337aaa..fa15b29 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMImplementationInfoProvider.java
@@ -131,42 +131,42 @@ public class IdMImplementationInfoProvider extends IdRepoImplementationInfoProvi
 
     @Override
     public IModel<List<String>> getReconFilterBuilders() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.RECON_FILTER_BUILDER).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
     }
 
     @Override
     public IModel<List<String>> getPullActions() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.PULL_ACTIONS).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
     }
 
     @Override
     public IModel<List<String>> getPushActions() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.PUSH_ACTIONS).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
     }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
index 5bb28d7..ce21c9c 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/status/AbstractStatusBeanProvider.java
@@ -51,7 +51,7 @@ public abstract class AbstractStatusBeanProvider extends DirectoryDataProvider<S
 
     @Override
     public IModel<StatusBean> model(final StatusBean statusBean) {
-        return new IModel<StatusBean>() {
+        return new IModel<>() {
 
             private static final long serialVersionUID = -7802635613997243712L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/CSVConfPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/CSVConfPanel.java
index 4867673..352547f 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/CSVConfPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/CSVConfPanel.java
@@ -69,7 +69,7 @@ public class CSVConfPanel extends Panel {
                 "lineSeparator", "lineSeparator", new PropertyModel<>(spec, "lineSeparator"), false);
         lineSeparator.setChoices(Stream.of(CSVPullWizardBuilder.LineSeparator.values()).
                 map(CSVPullWizardBuilder.LineSeparator::name).collect(Collectors.toList()));
-        lineSeparator.setChoiceRenderer(new IChoiceRenderer<String>() {
+        lineSeparator.setChoiceRenderer(new IChoiceRenderer<>() {
 
             private static final long serialVersionUID = 8551710814349123350L;
 
@@ -85,7 +85,7 @@ public class CSVConfPanel extends Panel {
 
             @Override
             public String getObject(
-                    final String id, final IModel<? extends List<? extends String>> choices) {
+                final String id, final IModel<? extends List<? extends String>> choices) {
 
                 return CSVPullWizardBuilder.LineSeparator.valueOf(id).getRepr();
             }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.java
index afe3278..17499d3 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.java
@@ -147,8 +147,8 @@ public abstract class ConnObjectListViewPanel extends Panel {
 
         List<ConnObjectTO> listOfItems = reloadItems(resource.getKey(), anyType, null, null);
 
-        ListViewPanel.Builder<ConnObjectTO> builder = new ListViewPanel.Builder<ConnObjectTO>(
-                ConnObjectTO.class, pageRef) {
+        ListViewPanel.Builder<ConnObjectTO> builder = new ListViewPanel.Builder<>(
+            ConnObjectTO.class, pageRef) {
 
             private static final long serialVersionUID = -8251750413385566738L;
 
@@ -158,52 +158,52 @@ public abstract class ConnObjectListViewPanel extends Panel {
                     ReconStatus status;
                     try {
                         status = ReconciliationRestClient.status(
-                                new ReconQuery.Builder(anyType, resource.getKey()).fiql(bean.getFiql()).build());
+                            new ReconQuery.Builder(anyType, resource.getKey()).fiql(bean.getFiql()).build());
                     } catch (Exception e) {
                         LOG.error("While requesting for reconciliation status of {} {} with FIQL '{}'",
-                                anyType, resource.getKey(), bean.getFiql(), e);
+                            anyType, resource.getKey(), bean.getFiql(), e);
 
                         status = new ReconStatus();
                     }
 
                     return status.getOnSyncope() == null
-                            ? StatusUtils.getLabel("field", "notfound icon", "Not found", Constants.NOT_FOUND_ICON)
-                            : new Label("field", Model.of()).add(new PopoverBehavior(
-                                    Model.of(),
-                                    Model.of(status.getAnyKey()),
-                                    new PopoverConfig().
-                                            withTitle(status.getMatchType() == MatchType.LINKED_ACCOUNT
-                                                    ? MatchType.LINKED_ACCOUNT.name() + ", " + AnyTypeKind.USER
-                                                    : status.getAnyTypeKind().name()).
-                                            withPlacement(TooltipConfig.Placement.left)) {
-
-                                private static final long serialVersionUID = -7867802555691605021L;
-
-                                @Override
-                                protected String createRelAttribute() {
-                                    return "field";
-                                }
-
-                                @Override
-                                public void onComponentTag(final Component component, final ComponentTag tag) {
-                                    super.onComponentTag(component, tag);
-                                    tag.put("class", Constants.ACTIVE_ICON);
-                                }
-                            });
+                        ? StatusUtils.getLabel("field", "notfound icon", "Not found", Constants.NOT_FOUND_ICON)
+                        : new Label("field", Model.of()).add(new PopoverBehavior(
+                        Model.of(),
+                        Model.of(status.getAnyKey()),
+                        new PopoverConfig().
+                            withTitle(status.getMatchType() == MatchType.LINKED_ACCOUNT
+                                ? MatchType.LINKED_ACCOUNT.name() + ", " + AnyTypeKind.USER
+                                : status.getAnyTypeKind().name()).
+                            withPlacement(TooltipConfig.Placement.left)) {
+
+                        private static final long serialVersionUID = -7867802555691605021L;
+
+                        @Override
+                        protected String createRelAttribute() {
+                            return "field";
+                        }
+
+                        @Override
+                        public void onComponentTag(final Component component, final ComponentTag tag) {
+                            super.onComponentTag(component, tag);
+                            tag.put("class", Constants.ACTIVE_ICON);
+                        }
+                    });
                 } else {
                     Optional<Attr> attr =
-                            bean.getAttrs().stream().filter(object -> object.getSchema().equals(key)).findAny();
+                        bean.getAttrs().stream().filter(object -> object.getSchema().equals(key)).findAny();
 
                     return attr.isEmpty() || attr.get().getValues().isEmpty()
-                            ? new Label("field", StringUtils.EMPTY)
-                            : new CollectionPanel("field", attr.get().getValues());
+                        ? new Label("field", StringUtils.EMPTY)
+                        : new CollectionPanel("field", attr.get().getValues());
                 }
             }
 
         };
 
         builder.setReuseItem(false);
-        builder.addAction(new ActionLink<ConnObjectTO>() {
+        builder.addAction(new ActionLink<>() {
 
             private static final long serialVersionUID = 7511002881490248598L;
 
@@ -220,7 +220,7 @@ public abstract class ConnObjectListViewPanel extends Panel {
                 setReuseItem(false);
 
         if (!StringUtils.equals(anyType, SyncopeConstants.REALM_ANYTYPE)) {
-            builder.addAction(new ActionLink<ConnObjectTO>() {
+            builder.addAction(new ActionLink<>() {
 
                 private static final long serialVersionUID = 6377238742125L;
 
@@ -228,19 +228,19 @@ public abstract class ConnObjectListViewPanel extends Panel {
                 public void onClick(final AjaxRequestTarget target, final ConnObjectTO modelObject) {
                     try {
                         ReconStatus status = ReconciliationRestClient.status(
-                                new ReconQuery.Builder(anyType, resource.getKey()).fiql(modelObject.getFiql()).build());
+                            new ReconQuery.Builder(anyType, resource.getKey()).fiql(modelObject.getFiql()).build());
 
                         pullConnObject(
-                                modelObject.getFiql(),
-                                target,
-                                resource.getKey(),
-                                anyType,
-                                status.getRealm(),
-                                StringUtils.isNotBlank(status.getAnyKey()),
-                                pageRef);
+                            modelObject.getFiql(),
+                            target,
+                            resource.getKey(),
+                            anyType,
+                            status.getRealm(),
+                            StringUtils.isNotBlank(status.getAnyKey()),
+                            pageRef);
                     } catch (Exception e) {
                         LOG.error("While puling single object {} {} with FIQL '{}'",
-                                anyType, resource.getKey(), modelObject.getFiql(), e);
+                            anyType, resource.getKey(), modelObject.getFiql(), e);
 
                         SyncopeConsoleSession.get().onException(e);
                         ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
index c184cff..cbed9bb 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
@@ -117,19 +117,19 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
             wizard = new LinkedAccountWizardBuilder(model, linkedAccountFormLayoutInfo, pageRef);
         }
 
-        ListViewPanel.Builder<LinkedAccountTO> builder = new ListViewPanel.Builder<LinkedAccountTO>(
-                LinkedAccountTO.class, pageRef) {
+        ListViewPanel.Builder<LinkedAccountTO> builder = new ListViewPanel.Builder<>(
+            LinkedAccountTO.class, pageRef) {
 
             private static final long serialVersionUID = -5322423525438435153L;
 
             @Override
             protected LinkedAccountTO getActualItem(final LinkedAccountTO item, final List<LinkedAccountTO> list) {
                 return item == null
-                        ? null
-                        : list.stream().filter(
-                                in -> ((item.getKey() == null && in.getKey() == null)
-                                || (in.getKey() != null && in.getKey().equals(item.getKey())))).
-                                findAny().orElse(null);
+                    ? null
+                    : list.stream().filter(
+                    in -> ((item.getKey() == null && in.getKey() == null)
+                        || (in.getKey() != null && in.getKey().equals(item.getKey())))).
+                    findAny().orElse(null);
             }
 
             @Override
@@ -186,7 +186,7 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
         builder.setReuseItem(false);
         builder.withChecks(ListViewPanel.CheckAvailability.NONE);
 
-        builder.addAction(new ActionLink<LinkedAccountTO>() {
+        builder.addAction(new ActionLink<>() {
 
             private static final long serialVersionUID = 2555747430358755813L;
 
@@ -196,17 +196,17 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
                         linkedAccountTO.getResource(),
                         model.getObject().getType(),
                         linkedAccountTO.getConnObjectKeyValue()),
-                        target);
+                    target);
                 target.add(mlp);
 
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
                 send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
-                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                    new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
             }
         }, ActionLink.ActionType.VIEW, IdRepoEntitlement.USER_READ);
 
         if (!recounciliationOnly) {
-            builder.addAction(new ActionLink<LinkedAccountTO>() {
+            builder.addAction(new ActionLink<>() {
 
                 private static final long serialVersionUID = 2555747430358755813L;
 
@@ -214,9 +214,9 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
                 public void onClick(final AjaxRequestTarget target, final LinkedAccountTO linkedAccountTO) {
                     try {
                         send(LinkedAccountModalPanel.this, Broadcast.DEPTH,
-                                new AjaxWizard.NewItemActionEvent<>(linkedAccountTO, 1, target).
-                                        setResourceModel(new StringResourceModel("inner.edit.linkedAccount",
-                                                LinkedAccountModalPanel.this, Model.of(linkedAccountTO))));
+                            new AjaxWizard.NewItemActionEvent<>(linkedAccountTO, 1, target).
+                                setResourceModel(new StringResourceModel("inner.edit.linkedAccount",
+                                    LinkedAccountModalPanel.this, Model.of(linkedAccountTO))));
                     } catch (SyncopeClientException e) {
                         LOG.error("While attempting to create new linked account", e);
                         SyncopeConsoleSession.get().onException(e);
@@ -224,11 +224,11 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
                     }
 
                     send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
-                            new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
                 }
             }, ActionLink.ActionType.EDIT, IdRepoEntitlement.USER_UPDATE);
 
-            builder.addAction(new ActionLink<LinkedAccountTO>() {
+            builder.addAction(new ActionLink<>() {
 
                 private static final long serialVersionUID = 2555747430358755813L;
 
@@ -237,8 +237,8 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
                     try {
                         linkedAccountTO.setSuspended(!linkedAccountTO.isSuspended());
                         LinkedAccountUR linkedAccountUR = new LinkedAccountUR.Builder().
-                                operation(PatchOperation.ADD_REPLACE).
-                                linkedAccountTO(linkedAccountTO).build();
+                            operation(PatchOperation.ADD_REPLACE).
+                            linkedAccountTO(linkedAccountTO).build();
 
                         UserUR req = new UserUR();
                         req.setKey(model.getObject().getKey());
@@ -259,60 +259,60 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
             }, ActionLink.ActionType.ENABLE, IdRepoEntitlement.USER_UPDATE);
         }
 
-        builder.addAction(new ActionLink<LinkedAccountTO>() {
-
-            private static final long serialVersionUID = 2555747430358755813L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target, final LinkedAccountTO linkedAccountTO) {
-                mlp.next("PUSH " + linkedAccountTO.getResource(),
-                        new ReconTaskPanel(
-                                linkedAccountTO.getResource(),
-                                new PushTaskTO(),
-                                model.getObject().getType(),
-                                null,
-                                ConnIdSpecialName.UID + "==" + linkedAccountTO.getConnObjectKeyValue(),
-                                true,
-                                mlp,
-                                pageRef),
-                        target);
-                target.add(mlp);
-
-                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-                send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
-                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
-            }
-        }, ActionLink.ActionType.RECONCILIATION_PUSH,
-                String.format("%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.TASK_EXECUTE));
-
-        builder.addAction(new ActionLink<LinkedAccountTO>() {
-
-            private static final long serialVersionUID = 2555747430358755813L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target, final LinkedAccountTO linkedAccountTO) {
-                mlp.next("PULL " + linkedAccountTO.getResource(),
-                        new ReconTaskPanel(
-                                linkedAccountTO.getResource(),
-                                new PullTaskTO(),
-                                model.getObject().getType(),
-                                null,
-                                ConnIdSpecialName.UID + "==" + linkedAccountTO.getConnObjectKeyValue(),
-                                true,
-                                mlp,
-                                pageRef),
-                        target);
-                target.add(mlp);
-
-                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-                send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
-                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
-            }
-        }, ActionLink.ActionType.RECONCILIATION_PULL,
-                String.format("%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.TASK_EXECUTE));
+        builder.addAction(new ActionLink<>() {
+
+                  private static final long serialVersionUID = 2555747430358755813L;
+
+                  @Override
+                  public void onClick(final AjaxRequestTarget target, final LinkedAccountTO linkedAccountTO) {
+                      mlp.next("PUSH " + linkedAccountTO.getResource(),
+                          new ReconTaskPanel(
+                              linkedAccountTO.getResource(),
+                              new PushTaskTO(),
+                              model.getObject().getType(),
+                              null,
+                              ConnIdSpecialName.UID + "==" + linkedAccountTO.getConnObjectKeyValue(),
+                              true,
+                              mlp,
+                              pageRef),
+                          target);
+                      target.add(mlp);
+
+                      ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                      send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
+                          new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                  }
+              }, ActionLink.ActionType.RECONCILIATION_PUSH,
+            String.format("%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.TASK_EXECUTE));
+
+        builder.addAction(new ActionLink<>() {
+
+                      private static final long serialVersionUID = 2555747430358755813L;
+
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final LinkedAccountTO linkedAccountTO) {
+                          mlp.next("PULL " + linkedAccountTO.getResource(),
+                              new ReconTaskPanel(
+                                  linkedAccountTO.getResource(),
+                                  new PullTaskTO(),
+                                  model.getObject().getType(),
+                                  null,
+                                  ConnIdSpecialName.UID + "==" + linkedAccountTO.getConnObjectKeyValue(),
+                                  true,
+                                  mlp,
+                                  pageRef),
+                              target);
+                          target.add(mlp);
+
+                          ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                          send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
+                              new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                      }
+                  }, ActionLink.ActionType.RECONCILIATION_PULL,
+            String.format("%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.TASK_EXECUTE));
 
         if (!recounciliationOnly) {
-            builder.addAction(new ActionLink<LinkedAccountTO>() {
+            builder.addAction(new ActionLink<>() {
 
                 private static final long serialVersionUID = 2555747430358755813L;
 
@@ -320,8 +320,8 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
                 public void onClick(final AjaxRequestTarget target, final LinkedAccountTO linkedAccountTO) {
                     try {
                         LinkedAccountUR linkedAccountUR = new LinkedAccountUR.Builder().
-                                operation(PatchOperation.DELETE).
-                                linkedAccountTO(linkedAccountTO).build();
+                            operation(PatchOperation.DELETE).
+                            linkedAccountTO(linkedAccountTO).build();
 
                         UserUR req = new UserUR();
                         req.setKey(model.getObject().getKey());
@@ -349,19 +349,19 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
         list.setReadOnly(!SyncopeConsoleSession.get().
                 owns(IdRepoEntitlement.USER_UPDATE, model.getObject().getRealm()));
 
-        addAjaxLink = new AjaxLink<LinkedAccountTO>("add") {
+        addAjaxLink = new AjaxLink<>("add") {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target) {
                 send(LinkedAccountModalPanel.this, Broadcast.BREADTH,
-                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                    new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
 
                 // this opens the wizard (set above) in CREATE mode
                 send(list, Broadcast.DEPTH, new AjaxWizard.NewItemActionEvent<>(new LinkedAccountTO(), target).
-                        setResourceModel(
-                                new StringResourceModel("inner.create.linkedAccount", LinkedAccountModalPanel.this)));
+                    setResourceModel(
+                        new StringResourceModel("inner.create.linkedAccount", LinkedAccountModalPanel.this)));
             }
         };
         list.addOrReplaceInnerObject(addAjaxLink.setEnabled(!recounciliationOnly).setVisible(!recounciliationOnly));
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
index 2428f48..d9d6d75 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/RemediationDirectoryPanel.java
@@ -124,7 +124,7 @@ public class RemediationDirectoryPanel
     protected ActionsPanel<RemediationTO> getActions(final IModel<RemediationTO> model) {
         ActionsPanel<RemediationTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<RemediationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 6193210574968203299L;
 
@@ -146,7 +146,7 @@ public class RemediationDirectoryPanel
                 ? IdRepoEntitlement.GROUP_DELETE
                 : AnyEntitlement.DELETE.getFor(model.getObject().getAnyType()) }, ",");
 
-            panel.add(new ActionLink<RemediationTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = 6193210574968203299L;
 
@@ -180,7 +180,7 @@ public class RemediationDirectoryPanel
                 ? IdRepoEntitlement.GROUP_UPDATE
                 : AnyEntitlement.UPDATE.getFor(model.getObject().getAnyType()) }, ",");
 
-            panel.add(new ActionLink<RemediationTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = 6193210574968203299L;
 
@@ -199,20 +199,20 @@ public class RemediationDirectoryPanel
                                 previousUserTO = null;
                             } else {
                                 previousUserTO = new UserRestClient().
-                                        read(remediationTO.getAnyURPayload().getKey());
+                                    read(remediationTO.getAnyURPayload().getKey());
                                 newUserTO = AnyOperations.patch(
-                                        previousUserTO, (UserUR) remediationTO.getAnyURPayload());
+                                    previousUserTO, (UserUR) remediationTO.getAnyURPayload());
                             }
 
                             AjaxWizard.EditItemActionEvent<UserTO> userEvent =
-                                    new AjaxWizard.EditItemActionEvent<>(newUserTO, target);
+                                new AjaxWizard.EditItemActionEvent<>(newUserTO, target);
                             userEvent.forceModalPanel(new RemediationUserWizardBuilder(
-                                    model.getObject(),
-                                    previousUserTO,
-                                    newUserTO,
-                                    AnyTypeRestClient.read(remediationTO.getAnyType()).getClasses(),
-                                    AnyLayoutUtils.fetch(List.of(remediationTO.getAnyType())).getUser(),
-                                    pageRef
+                                model.getObject(),
+                                previousUserTO,
+                                newUserTO,
+                                AnyTypeRestClient.read(remediationTO.getAnyType()).getClasses(),
+                                AnyLayoutUtils.fetch(List.of(remediationTO.getAnyType())).getUser(),
+                                pageRef
                             ).build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT));
                             send(RemediationDirectoryPanel.this, Broadcast.EXACT, userEvent);
                             break;
@@ -226,20 +226,20 @@ public class RemediationDirectoryPanel
                                 previousGroupTO = null;
                             } else {
                                 previousGroupTO = new GroupRestClient().
-                                        read(remediationTO.getAnyURPayload().getKey());
+                                    read(remediationTO.getAnyURPayload().getKey());
                                 newGroupTO = AnyOperations.patch(
-                                        previousGroupTO, (GroupUR) remediationTO.getAnyURPayload());
+                                    previousGroupTO, (GroupUR) remediationTO.getAnyURPayload());
                             }
 
                             AjaxWizard.EditItemActionEvent<GroupTO> groupEvent =
-                                    new AjaxWizard.EditItemActionEvent<>(newGroupTO, target);
+                                new AjaxWizard.EditItemActionEvent<>(newGroupTO, target);
                             groupEvent.forceModalPanel(new RemediationGroupWizardBuilder(
-                                    model.getObject(),
-                                    previousGroupTO,
-                                    newGroupTO,
-                                    AnyTypeRestClient.read(remediationTO.getAnyType()).getClasses(),
-                                    AnyLayoutUtils.fetch(List.of(remediationTO.getAnyType())).getGroup(),
-                                    pageRef
+                                model.getObject(),
+                                previousGroupTO,
+                                newGroupTO,
+                                AnyTypeRestClient.read(remediationTO.getAnyType()).getClasses(),
+                                AnyLayoutUtils.fetch(List.of(remediationTO.getAnyType())).getGroup(),
+                                pageRef
                             ).build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT));
                             send(RemediationDirectoryPanel.this, Broadcast.EXACT, groupEvent);
                             break;
@@ -253,21 +253,21 @@ public class RemediationDirectoryPanel
                                 previousAnyObjectTO = null;
                             } else {
                                 previousAnyObjectTO = new AnyObjectRestClient().
-                                        read(remediationTO.getAnyURPayload().getKey());
+                                    read(remediationTO.getAnyURPayload().getKey());
                                 newAnyObjectTO = AnyOperations.patch(
-                                        previousAnyObjectTO, (AnyObjectUR) remediationTO.getAnyURPayload());
+                                    previousAnyObjectTO, (AnyObjectUR) remediationTO.getAnyURPayload());
                             }
 
                             AjaxWizard.EditItemActionEvent<AnyObjectTO> anyObjectEvent =
-                                    new AjaxWizard.EditItemActionEvent<>(newAnyObjectTO, target);
+                                new AjaxWizard.EditItemActionEvent<>(newAnyObjectTO, target);
                             anyObjectEvent.forceModalPanel(new RemediationAnyObjectWizardBuilder(
-                                    model.getObject(),
-                                    previousAnyObjectTO,
-                                    newAnyObjectTO,
-                                    AnyTypeRestClient.read(remediationTO.getAnyType()).getClasses(),
-                                    AnyLayoutUtils.fetch(List.of(remediationTO.getAnyType())).getAnyObjects().
-                                            get(remediationTO.getAnyType()),
-                                    pageRef
+                                model.getObject(),
+                                previousAnyObjectTO,
+                                newAnyObjectTO,
+                                AnyTypeRestClient.read(remediationTO.getAnyType()).getClasses(),
+                                AnyLayoutUtils.fetch(List.of(remediationTO.getAnyType())).getAnyObjects().
+                                    get(remediationTO.getAnyType()),
+                                pageRef
                             ).build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT));
                             send(RemediationDirectoryPanel.this, Broadcast.EXACT, anyObjectEvent);
                     }
@@ -275,7 +275,7 @@ public class RemediationDirectoryPanel
             }, ActionLink.ActionType.EDIT, entitlements);
         }
 
-        panel.add(new ActionLink<RemediationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 6193210574968203299L;
 
@@ -335,7 +335,7 @@ public class RemediationDirectoryPanel
 
         @Override
         public IModel<RemediationTO> model(final RemediationTO remediation) {
-            return new IModel<RemediationTO>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = -2566070996511906708L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java
index 793b322..2d69576 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/search/ConnObjectSearchPanel.java
@@ -78,7 +78,7 @@ public class ConnObjectSearchPanel extends AbstractSearchPanel {
 
     @Override
     protected void populate() {
-        this.types = new LoadableDetachableModel<List<SearchClause.Type>>() {
+        this.types = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 22668815812716L;
 
@@ -88,7 +88,7 @@ public class ConnObjectSearchPanel extends AbstractSearchPanel {
             }
         };
 
-        this.dnames = new LoadableDetachableModel<Map<String, PlainSchemaTO>>() {
+        this.dnames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 2989042618372L;
 
@@ -98,18 +98,18 @@ public class ConnObjectSearchPanel extends AbstractSearchPanel {
             }
         };
 
-        this.anames = new LoadableDetachableModel<Map<String, PlainSchemaTO>>() {
+        this.anames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 3002350300761L;
 
             @Override
             protected Map<String, PlainSchemaTO> load() {
                 return connectorRestClient.buildObjectClassInfo(
-                        connectorRestClient.read(resource.getConnector()), false).stream().
-                        map(ConnIdObjectClassTO::getAttributes).
-                        flatMap(List::stream).
-                        collect(Collectors.toMap(PlainSchemaTO::getKey, Function.identity(),
-                                (schema1, schema2) -> schema1));
+                    connectorRestClient.read(resource.getConnector()), false).stream().
+                    map(ConnIdObjectClassTO::getAttributes).
+                    flatMap(List::stream).
+                    collect(Collectors.toMap(PlainSchemaTO::getKey, Function.identity(),
+                        (schema1, schema2) -> schema1));
             }
         };
     }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/ProvisioningPolicyModalPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/ProvisioningPolicyModalPanel.java
index 5b9935f..07ddf96 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/ProvisioningPolicyModalPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/ProvisioningPolicyModalPanel.java
@@ -83,31 +83,31 @@ public class ProvisioningPolicyModalPanel extends AbstractModalPanel<Provisionin
         super((BaseModal<ProvisioningPolicyTO>) modal, pageRef);
         ((BaseModal<ProvisioningPolicyTO>) modal).setFormModel(policyTO);
 
-        implementations = new LoadableDetachableModel<Map<String, ImplementationTO>>() {
+        implementations = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected Map<String, ImplementationTO> load() {
                 return ImplementationRestClient.list(policyTO instanceof PullPolicyTO
-                        ? IdMImplementationType.PULL_CORRELATION_RULE
-                        : IdMImplementationType.PUSH_CORRELATION_RULE).stream().
-                        collect(Collectors.toMap(EntityTO::getKey, Function.identity()));
+                    ? IdMImplementationType.PULL_CORRELATION_RULE
+                    : IdMImplementationType.PUSH_CORRELATION_RULE).stream().
+                    collect(Collectors.toMap(EntityTO::getKey, Function.identity()));
             }
         };
 
-        model = new PropertyModel<List<CorrelationRule>>(policyTO, "correlationRules") {
+        model = new PropertyModel<>(policyTO, "correlationRules") {
 
             private static final long serialVersionUID = -8168676563540297301L;
 
             private final List<CorrelationRule> rules = policyTO.getCorrelationRules().keySet().stream().
-                    map(anyType -> new CorrelationRule(
+                map(anyType -> new CorrelationRule(
                     policyTO instanceof PullPolicyTO
-                            ? DefaultPullCorrelationRuleConf.class
-                            : DefaultPushCorrelationRuleConf.class,
+                        ? DefaultPullCorrelationRuleConf.class
+                        : DefaultPushCorrelationRuleConf.class,
                     anyType,
                     implementations.getObject().get(policyTO.getCorrelationRules().get(anyType)))).
-                    collect(Collectors.toList());
+                collect(Collectors.toList());
 
             @Override
             public List<CorrelationRule> getObject() {
@@ -121,15 +121,15 @@ public class ProvisioningPolicyModalPanel extends AbstractModalPanel<Provisionin
             }
         };
 
-        add(new MultiPanel<CorrelationRule>("correlationRules", "correlationRules", model) {
+        add(new MultiPanel<>("correlationRules", "correlationRules", model) {
 
             private static final long serialVersionUID = -2481579077338205547L;
 
             @Override
             protected CorrelationRule newModelObject() {
                 return new CorrelationRule(policyTO instanceof PullPolicyTO
-                        ? DefaultPullCorrelationRuleConf.class
-                        : DefaultPushCorrelationRuleConf.class);
+                    ? DefaultPullCorrelationRuleConf.class
+                    : DefaultPushCorrelationRuleConf.class);
             }
 
             @Override
@@ -196,76 +196,76 @@ public class ProvisioningPolicyModalPanel extends AbstractModalPanel<Provisionin
             add(rule);
 
             PropertyModel<Boolean> orSchemasModel =
-                    new PropertyModel<Boolean>(correlationRule.getObject().getDefaultRuleConf(), "orSchemas") {
+                new PropertyModel<>(correlationRule.getObject().getDefaultRuleConf(), "orSchemas") {
 
-                private static final long serialVersionUID = 807008909842554829L;
+                    private static final long serialVersionUID = 807008909842554829L;
 
-                @Override
-                public Boolean getObject() {
-                    AbstractCorrelationRuleConf conf = correlationRule.getObject().getDefaultRuleConf();
-                    return conf instanceof DefaultPullCorrelationRuleConf
+                    @Override
+                    public Boolean getObject() {
+                        AbstractCorrelationRuleConf conf = correlationRule.getObject().getDefaultRuleConf();
+                        return conf instanceof DefaultPullCorrelationRuleConf
                             ? DefaultPullCorrelationRuleConf.class.cast(conf).isOrSchemas()
                             : conf instanceof DefaultPushCorrelationRuleConf
-                                    ? DefaultPushCorrelationRuleConf.class.cast(conf).isOrSchemas()
-                                    : false;
-                }
+                            ? DefaultPushCorrelationRuleConf.class.cast(conf).isOrSchemas()
+                            : false;
+                    }
 
-                @Override
-                public void setObject(final Boolean object) {
-                    AbstractCorrelationRuleConf conf = correlationRule.getObject().getDefaultRuleConf();
-                    if (conf instanceof DefaultPullCorrelationRuleConf) {
-                        DefaultPullCorrelationRuleConf.class.cast(conf).setOrSchemas(object);
-                    } else if (conf instanceof DefaultPushCorrelationRuleConf) {
-                        DefaultPushCorrelationRuleConf.class.cast(conf).setOrSchemas(object);
+                    @Override
+                    public void setObject(final Boolean object) {
+                        AbstractCorrelationRuleConf conf = correlationRule.getObject().getDefaultRuleConf();
+                        if (conf instanceof DefaultPullCorrelationRuleConf) {
+                            DefaultPullCorrelationRuleConf.class.cast(conf).setOrSchemas(object);
+                        } else if (conf instanceof DefaultPushCorrelationRuleConf) {
+                            DefaultPushCorrelationRuleConf.class.cast(conf).setOrSchemas(object);
+                        }
                     }
-                }
-            };
+                };
             AjaxCheckBoxPanel orSchemas = new AjaxCheckBoxPanel("orSchemas", "orSchemas", orSchemasModel, false);
             orSchemas.setOutputMarkupPlaceholderTag(true);
             add(orSchemas.setVisible(correlationRule.getObject().getDefaultRuleConf() != null));
 
             PropertyModel<List<String>> defaultRuleConfModel =
-                    new PropertyModel<List<String>>(correlationRule.getObject().getDefaultRuleConf(), "schemas") {
+                new PropertyModel<>(correlationRule.getObject().getDefaultRuleConf(), "schemas") {
 
-                private static final long serialVersionUID = 3799387950428254072L;
+                    private static final long serialVersionUID = 3799387950428254072L;
 
-                private List<String> schemas() {
-                    AbstractCorrelationRuleConf conf = correlationRule.getObject().getDefaultRuleConf();
-                    return conf instanceof DefaultPullCorrelationRuleConf
+                    private List<String> schemas() {
+                        AbstractCorrelationRuleConf conf = correlationRule.getObject().getDefaultRuleConf();
+                        return conf instanceof DefaultPullCorrelationRuleConf
                             ? DefaultPullCorrelationRuleConf.class.cast(conf).getSchemas()
                             : conf instanceof DefaultPushCorrelationRuleConf
-                                    ? DefaultPushCorrelationRuleConf.class.cast(conf).getSchemas()
-                                    : List.of();
-                }
+                            ? DefaultPushCorrelationRuleConf.class.cast(conf).getSchemas()
+                            : List.of();
+                    }
 
-                @Override
-                public List<String> getObject() {
-                    List<String> schemas = new ArrayList<>();
-                    if (correlationRule.getObject().getDefaultRuleConf() != null) {
-                        schemas.addAll(schemas());
+                    @Override
+                    public List<String> getObject() {
+                        List<String> schemas = new ArrayList<>();
+                        if (correlationRule.getObject().getDefaultRuleConf() != null) {
+                            schemas.addAll(schemas());
+                        }
+                        return schemas;
                     }
-                    return schemas;
-                }
 
-                @Override
-                public void setObject(final List<String> object) {
-                    if (correlationRule.getObject().getDefaultRuleConf() != null) {
-                        schemas().clear();
-                        schemas().addAll(object);
+                    @Override
+                    public void setObject(final List<String> object) {
+                        if (correlationRule.getObject().getDefaultRuleConf() != null) {
+                            schemas().clear();
+                            schemas().addAll(object);
+                        }
                     }
-                }
-            };
+                };
             AjaxPalettePanel<String> defaultRuleConf = new AjaxPalettePanel.Builder<String>().
                     setName("defaultRuleConf").build("defaultRuleConf",
-                    defaultRuleConfModel, new AjaxPalettePanel.Builder.Query<String>() {
+                    defaultRuleConfModel, new AjaxPalettePanel.Builder.Query<>() {
 
-                private static final long serialVersionUID = -7223078772249308813L;
+                    private static final long serialVersionUID = -7223078772249308813L;
 
-                @Override
-                public List<String> execute(final String filter) {
-                    return getSchemas(correlationRule.getObject());
-                }
-            });
+                    @Override
+                    public List<String> execute(final String filter) {
+                        return getSchemas(correlationRule.getObject());
+                    }
+                });
             defaultRuleConf.hideLabel().setOutputMarkupPlaceholderTag(true);
             add(defaultRuleConf.setVisible(correlationRule.getObject().getDefaultRuleConf() != null));
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyDirectoryPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyDirectoryPanel.java
index 63219d7..9f5eb90 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyDirectoryPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PullPolicyDirectoryPanel.java
@@ -60,20 +60,20 @@ public class PullPolicyDirectoryPanel extends PolicyDirectoryPanel<PullPolicyTO>
 
     @Override
     protected void addCustomActions(final ActionsPanel<PullPolicyTO> panel, final IModel<PullPolicyTO> model) {
-        panel.add(new ActionLink<PullPolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final PullPolicyTO ignore) {
                 target.add(policySpecModal.setContent(
-                        new ProvisioningPolicyModalPanel(model.getObject(), policySpecModal, pageRef)));
+                    new ProvisioningPolicyModalPanel(model.getObject(), policySpecModal, pageRef)));
 
                 policySpecModal.header(new StringResourceModel(
-                        "policy.rules", PullPolicyDirectoryPanel.this, Model.of(model.getObject())));
+                    "policy.rules", PullPolicyDirectoryPanel.this, Model.of(model.getObject())));
 
                 MetaDataRoleAuthorizationStrategy.authorize(
-                        policySpecModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
+                    policySpecModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
 
                 policySpecModal.show(true);
             }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PushPolicyDirectoryPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PushPolicyDirectoryPanel.java
index adcd73b..0cc829e 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PushPolicyDirectoryPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/policies/PushPolicyDirectoryPanel.java
@@ -60,20 +60,20 @@ public class PushPolicyDirectoryPanel extends PolicyDirectoryPanel<PushPolicyTO>
 
     @Override
     protected void addCustomActions(final ActionsPanel<PushPolicyTO> panel, final IModel<PushPolicyTO> model) {
-        panel.add(new ActionLink<PushPolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final PushPolicyTO ignore) {
                 target.add(policySpecModal.setContent(
-                        new ProvisioningPolicyModalPanel(model.getObject(), policySpecModal, pageRef)));
+                    new ProvisioningPolicyModalPanel(model.getObject(), policySpecModal, pageRef)));
 
                 policySpecModal.header(new StringResourceModel(
-                        "policy.rules", PushPolicyDirectoryPanel.this, Model.of(model.getObject())));
+                    "policy.rules", PushPolicyDirectoryPanel.this, Model.of(model.getObject())));
 
                 MetaDataRoleAuthorizationStrategy.authorize(
-                        policySpecModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
+                    policySpecModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
 
                 policySpecModal.show(true);
             }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/RemediationRestClient.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/RemediationRestClient.java
index 7a31fd8..4b6dae8 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/RemediationRestClient.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/RemediationRestClient.java
@@ -52,19 +52,19 @@ public class RemediationRestClient extends BaseRestClient {
 
     public static <C extends AnyCR, A extends AnyTO> ProvisioningResult<A> remedy(final String key, final C anyCR) {
         Response response = getService(RemediationService.class).remedy(key, anyCR);
-        return response.readEntity(new GenericType<ProvisioningResult<A>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
     public static <T extends AnyTO> ProvisioningResult<T> remedy(final String key, final AnyUR anyUR) {
         Response response = getService(RemediationService.class).remedy(key, anyUR);
-        return response.readEntity(new GenericType<ProvisioningResult<T>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
     public static ProvisioningResult<? extends AnyTO> remedy(final String key, final String anyKey) {
         Response response = getService(RemediationService.class).remedy(key, anyKey);
-        return response.readEntity(new GenericType<ProvisioningResult<? extends AnyTO>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
index 36af193..29796ba 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/AnyStatusDirectoryPanel.java
@@ -127,16 +127,16 @@ public class AnyStatusDirectoryPanel
     protected List<IColumn<StatusBean, String>> getColumns() {
         final List<IColumn<StatusBean, String>> columns = new ArrayList<>();
 
-        columns.add(new AbstractColumn<StatusBean, String>(
-                new StringResourceModel("resource", this), "resource") {
+        columns.add(new AbstractColumn<>(
+            new StringResourceModel("resource", this), "resource") {
 
             private static final long serialVersionUID = 2054811145491901166L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<StatusBean>> cellItem,
-                    final String componentId,
-                    final IModel<StatusBean> model) {
+                final Item<ICellPopulator<StatusBean>> cellItem,
+                final String componentId,
+                final IModel<StatusBean> model) {
 
                 cellItem.add(new Label(componentId, model.getObject().getResource()) {
 
@@ -145,7 +145,7 @@ public class AnyStatusDirectoryPanel
                     @Override
                     protected void onComponentTag(final ComponentTag tag) {
                         if (anyTO.getResources().contains(model.getObject().getResource())
-                                || Constants.SYNCOPE.equalsIgnoreCase(model.getObject().getResource())) {
+                            || Constants.SYNCOPE.equalsIgnoreCase(model.getObject().getResource())) {
 
                             super.onComponentTag(tag);
                         } else {
@@ -160,15 +160,15 @@ public class AnyStatusDirectoryPanel
             columns.add(new PropertyColumn<>(
                     new StringResourceModel("connObjectLink", this), "connObjectLink", "connObjectLink"));
 
-            columns.add(new AbstractColumn<StatusBean, String>(new StringResourceModel("status", this)) {
+            columns.add(new AbstractColumn<>(new StringResourceModel("status", this)) {
 
                 private static final long serialVersionUID = -3503023501954863131L;
 
                 @Override
                 public void populateItem(
-                        final Item<ICellPopulator<StatusBean>> cellItem,
-                        final String componentId,
-                        final IModel<StatusBean> model) {
+                    final Item<ICellPopulator<StatusBean>> cellItem,
+                    final String componentId,
+                    final IModel<StatusBean> model) {
 
                     if (model.getObject().isLinked()) {
                         cellItem.add(StatusUtils.getStatusImage(componentId, model.getObject().getStatus()));
@@ -187,15 +187,15 @@ public class AnyStatusDirectoryPanel
         final ActionsPanel<StatusBean> panel = super.getActions(model);
 
         if (!Constants.SYNCOPE.equalsIgnoreCase(model.getObject().getResource())) {
-            panel.add(new ActionLink<StatusBean>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770645L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                     multiLevelPanelRef.next(bean.getResource(),
-                            new ReconStatusPanel(bean.getResource(), anyTO.getType(), anyTO.getKey()),
-                            target);
+                        new ReconStatusPanel(bean.getResource(), anyTO.getType(), anyTO.getKey()),
+                        target);
                     target.add(multiLevelPanelRef);
                     AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
                 }
@@ -203,43 +203,43 @@ public class AnyStatusDirectoryPanel
         }
 
         if (!statusOnly) {
-            panel.add(new ActionLink<StatusBean>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770645L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                     multiLevelPanelRef.next("PUSH " + bean.getResource(),
-                            new ReconTaskPanel(
-                                    bean.getResource(),
-                                    new PushTaskTO(),
-                                    anyTO.getType(),
-                                    anyTO.getKey(),
-                                    true,
-                                    multiLevelPanelRef,
-                                    pageRef),
-                            target);
+                        new ReconTaskPanel(
+                            bean.getResource(),
+                            new PushTaskTO(),
+                            anyTO.getType(),
+                            anyTO.getKey(),
+                            true,
+                            multiLevelPanelRef,
+                            pageRef),
+                        target);
                     target.add(multiLevelPanelRef);
                     AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
                 }
             }, ActionLink.ActionType.RECONCILIATION_PUSH, IdRepoEntitlement.TASK_EXECUTE);
 
-            panel.add(new ActionLink<StatusBean>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770645L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                     multiLevelPanelRef.next("PULL " + bean.getResource(),
-                            new ReconTaskPanel(
-                                    bean.getResource(),
-                                    new PullTaskTO(),
-                                    anyTO.getType(),
-                                    anyTO.getKey(),
-                                    true,
-                                    multiLevelPanelRef,
-                                    pageRef),
-                            target);
+                        new ReconTaskPanel(
+                            bean.getResource(),
+                            new PullTaskTO(),
+                            anyTO.getType(),
+                            anyTO.getKey(),
+                            true,
+                            multiLevelPanelRef,
+                            pageRef),
+                        target);
                     target.add(multiLevelPanelRef);
                     AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
                 }
@@ -254,19 +254,19 @@ public class AnyStatusDirectoryPanel
                         return linkedAccountTO.getResource().equals(model.getObject().getResource());
                     })) {
 
-                panel.add(new ActionLink<StatusBean>() {
+                panel.add(new ActionLink<>() {
 
-                    private static final long serialVersionUID = 5168094747477174155L;
+                              private static final long serialVersionUID = 5168094747477174155L;
 
-                    @Override
-                    public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
-                        multiLevelPanelRef.next("ACCOUNTS",
-                                new LinkedAccountsStatusModalPanel(Model.of(UserTO.class.cast(anyTO)), pageRef),
-                                target);
-                        target.add(multiLevelPanelRef);
-                        AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
-                    }
-                }, ActionLink.ActionType.MANAGE_ACCOUNTS,
+                              @Override
+                              public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
+                                  multiLevelPanelRef.next("ACCOUNTS",
+                                      new LinkedAccountsStatusModalPanel(Model.of(UserTO.class.cast(anyTO)), pageRef),
+                                      target);
+                                  target.add(multiLevelPanelRef);
+                                  AnyStatusDirectoryPanel.this.getTogglePanel().close(target);
+                              }
+                          }, ActionLink.ActionType.MANAGE_ACCOUNTS,
                         String.format("%s,%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.USER_UPDATE,
                                 IdMEntitlement.RESOURCE_GET_CONNOBJECT));
             }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
index 80349b1..3071cba 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
@@ -65,25 +65,25 @@ public class ReconTaskPanel extends MultilevelPanel.SecondLevel {
 
     protected static final Logger LOG = LoggerFactory.getLogger(ReconTaskPanel.class);
 
-    private final IModel<List<String>> pullActions = new LoadableDetachableModel<List<String>>() {
+    private final IModel<List<String>> pullActions = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
         @Override
         protected List<String> load() {
             return ImplementationRestClient.list(IdMImplementationType.PULL_ACTIONS).stream().
-                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                map(EntityTO::getKey).sorted().collect(Collectors.toList());
         }
     };
 
-    private final IModel<List<String>> pushActions = new LoadableDetachableModel<List<String>>() {
+    private final IModel<List<String>> pushActions = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
         @Override
         protected List<String> load() {
             return ImplementationRestClient.list(IdMImplementationType.PUSH_ACTIONS).stream().
-                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                map(EntityTO::getKey).sorted().collect(Collectors.toList());
         }
     };
 
@@ -122,7 +122,7 @@ public class ReconTaskPanel extends MultilevelPanel.SecondLevel {
             settings.setShowListOnEmptyInput(!isSearchEnabled);
 
             AjaxSearchFieldPanel realm = new AjaxSearchFieldPanel(
-                    "realm", "destinationRealm", new PropertyModel<String>(taskTO, "destinationRealm"), settings) {
+                    "realm", "destinationRealm", new PropertyModel<>(taskTO, "destinationRealm"), settings) {
 
                 private static final long serialVersionUID = -6390474600233486704L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
index 256a1ba..b861878 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/ResourceStatusDirectoryPanel.java
@@ -109,7 +109,7 @@ public class ResourceStatusDirectoryPanel
     public ActionsPanel<StatusBean> getActions(final IModel<StatusBean> model) {
         final ActionsPanel<StatusBean> panel = super.getActions(model);
 
-        panel.add(new ActionLink<StatusBean>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
@@ -121,14 +121,14 @@ public class ResourceStatusDirectoryPanel
             @Override
             public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                 multiLevelPanelRef.next(bean.getResource(),
-                        new ReconStatusPanel(bean.getResource(), type, bean.getKey()),
-                        target);
+                    new ReconStatusPanel(bean.getResource(), type, bean.getKey()),
+                    target);
                 target.add(multiLevelPanelRef);
                 getTogglePanel().close(target);
             }
         }, ActionLink.ActionType.VIEW, IdMEntitlement.RESOURCE_GET_CONNOBJECT);
 
-        panel.add(new ActionLink<StatusBean>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
@@ -140,21 +140,21 @@ public class ResourceStatusDirectoryPanel
             @Override
             public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                 multiLevelPanelRef.next("PUSH " + bean.getResource(),
-                        new ReconTaskPanel(
-                                bean.getResource(),
-                                new PushTaskTO(),
-                                type,
-                                bean.getKey(),
-                                true,
-                                multiLevelPanelRef,
-                                pageRef),
-                        target);
+                    new ReconTaskPanel(
+                        bean.getResource(),
+                        new PushTaskTO(),
+                        type,
+                        bean.getKey(),
+                        true,
+                        multiLevelPanelRef,
+                        pageRef),
+                    target);
                 target.add(multiLevelPanelRef);
                 getTogglePanel().close(target);
             }
         }, ActionLink.ActionType.RECONCILIATION_PUSH, IdRepoEntitlement.TASK_EXECUTE);
 
-        panel.add(new ActionLink<StatusBean>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
@@ -166,15 +166,15 @@ public class ResourceStatusDirectoryPanel
             @Override
             public void onClick(final AjaxRequestTarget target, final StatusBean bean) {
                 multiLevelPanelRef.next("PULL " + bean.getResource(),
-                        new ReconTaskPanel(
-                                bean.getResource(),
-                                new PullTaskTO(),
-                                type,
-                                bean.getKey(),
-                                true,
-                                multiLevelPanelRef,
-                                pageRef),
-                        target);
+                    new ReconTaskPanel(
+                        bean.getResource(),
+                        new PullTaskTO(),
+                        type,
+                        bean.getKey(),
+                        true,
+                        multiLevelPanelRef,
+                        pageRef),
+                    target);
                 target.add(multiLevelPanelRef);
                 getTogglePanel().close(target);
             }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
index a368a95..b152db8 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
@@ -83,7 +83,7 @@ public class Topology extends BasePage {
 
     private final TopologyTogglePanel togglePanel;
 
-    private final LoadableDetachableModel<List<ResourceTO>> resModel = new LoadableDetachableModel<List<ResourceTO>>() {
+    private final LoadableDetachableModel<List<ResourceTO>> resModel = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157431L;
 
@@ -94,50 +94,50 @@ public class Topology extends BasePage {
     };
 
     private final LoadableDetachableModel<Map<String, List<ConnInstanceTO>>> connModel =
-            new LoadableDetachableModel<Map<String, List<ConnInstanceTO>>>() {
+        new LoadableDetachableModel<>() {
 
-        private static final long serialVersionUID = 5275935387613157432L;
+            private static final long serialVersionUID = 5275935387613157432L;
 
-        @Override
-        protected Map<String, List<ConnInstanceTO>> load() {
-            final Map<String, List<ConnInstanceTO>> res = new HashMap<>();
-
-            ConnectorRestClient.getAllConnectors().forEach(conn -> {
-                List<ConnInstanceTO> conns;
-                if (res.containsKey(conn.getLocation())) {
-                    conns = res.get(conn.getLocation());
-                } else {
-                    conns = new ArrayList<>();
-                    res.put(conn.getLocation(), conns);
-                }
-                conns.add(conn);
-            });
+            @Override
+            protected Map<String, List<ConnInstanceTO>> load() {
+                final Map<String, List<ConnInstanceTO>> res = new HashMap<>();
 
-            return res;
-        }
-    };
+                ConnectorRestClient.getAllConnectors().forEach(conn -> {
+                    List<ConnInstanceTO> conns;
+                    if (res.containsKey(conn.getLocation())) {
+                        conns = res.get(conn.getLocation());
+                    } else {
+                        conns = new ArrayList<>();
+                        res.put(conn.getLocation(), conns);
+                    }
+                    conns.add(conn);
+                });
+
+                return res;
+            }
+        };
 
     private final LoadableDetachableModel<Pair<List<URI>, List<URI>>> csModel =
-            new LoadableDetachableModel<Pair<List<URI>, List<URI>>>() {
+        new LoadableDetachableModel<>() {
 
-        private static final long serialVersionUID = 5275935387613157433L;
+            private static final long serialVersionUID = 5275935387613157433L;
 
-        @Override
-        protected Pair<List<URI>, List<URI>> load() {
-            final List<URI> connectorServers = new ArrayList<>();
-            final List<URI> filePaths = new ArrayList<>();
-
-            SyncopeConsoleSession.get().getPlatformInfo().getConnIdLocations().forEach(location -> {
-                if (location.startsWith(CONNECTOR_SERVER_LOCATION_PREFIX)) {
-                    connectorServers.add(URI.create(location));
-                } else {
-                    filePaths.add(URI.create(location));
-                }
-            });
+            @Override
+            protected Pair<List<URI>, List<URI>> load() {
+                final List<URI> connectorServers = new ArrayList<>();
+                final List<URI> filePaths = new ArrayList<>();
 
-            return Pair.of(connectorServers, filePaths);
-        }
-    };
+                SyncopeConsoleSession.get().getPlatformInfo().getConnIdLocations().forEach(location -> {
+                    if (location.startsWith(CONNECTOR_SERVER_LOCATION_PREFIX)) {
+                        connectorServers.add(URI.create(location));
+                    } else {
+                        filePaths.add(URI.create(location));
+                    }
+                });
+
+                return Pair.of(connectorServers, filePaths);
+            }
+        };
 
     protected enum SupportedOperation {
 
@@ -163,7 +163,7 @@ public class Topology extends BasePage {
         // -----------------------------------------
         ActionsPanel<Serializable> zoomActionPanel = new ActionsPanel<>("zoom", null);
 
-        zoomActionPanel.add(new ActionLink<Serializable>() {
+        zoomActionPanel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -172,7 +172,7 @@ public class Topology extends BasePage {
                 target.appendJavaScript("zoomIn($('#drawing')[0]);");
             }
         }, ActionLink.ActionType.ZOOM_IN, IdMEntitlement.CONNECTOR_LIST).disableIndicator().hideLabel();
-        zoomActionPanel.add(new ActionLink<Serializable>() {
+        zoomActionPanel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -211,7 +211,7 @@ public class Topology extends BasePage {
         // -----------------------------------------
         // Add Connector Servers
         // -----------------------------------------
-        ListView<URI> connectorServers = new ListView<URI>("connectorServers", csModel.getObject().getLeft()) {
+        ListView<URI> connectorServers = new ListView<>("connectorServers", csModel.getObject().getLeft()) {
 
             private static final long serialVersionUID = 6978621871488360380L;
 
@@ -250,7 +250,7 @@ public class Topology extends BasePage {
         // -----------------------------------------
         // Add File Paths
         // -----------------------------------------
-        ListView<URI> filePaths = new ListView<URI>("filePaths", csModel.getObject().getRight()) {
+        ListView<URI> filePaths = new ListView<>("filePaths", csModel.getObject().getRight()) {
 
             private static final long serialVersionUID = 6978621871488360380L;
 
@@ -290,64 +290,65 @@ public class Topology extends BasePage {
         // Add Connector Intances
         // -----------------------------------------
         ListView<List<ConnInstanceTO>> conns =
-                new ListView<List<ConnInstanceTO>>("conns", new ArrayList<>(connModel.getObject().values())) {
+            new ListView<>("conns", new ArrayList<>(connModel.getObject().values())) {
 
-            private static final long serialVersionUID = 697862187148836036L;
+                private static final long serialVersionUID = 697862187148836036L;
 
-            @Override
-            protected void populateItem(final ListItem<List<ConnInstanceTO>> item) {
-                int size = item.getModelObject().size() + 1;
+                @Override
+                protected void populateItem(final ListItem<List<ConnInstanceTO>> item) {
+                    int size = item.getModelObject().size() + 1;
 
-                ListView<ConnInstanceTO> conns = new ListView<ConnInstanceTO>("conns", item.getModelObject()) {
+                    ListView<ConnInstanceTO> conns = new ListView<>("conns", item.getModelObject()) {
 
-                    private static final long serialVersionUID = 6978621871488360381L;
+                        private static final long serialVersionUID = 6978621871488360381L;
 
-                    @Override
-                    protected void populateItem(final ListItem<ConnInstanceTO> item) {
-                        ConnInstanceTO conn = item.getModelObject();
+                        @Override
+                        protected void populateItem(final ListItem<ConnInstanceTO> item) {
+                            ConnInstanceTO conn = item.getModelObject();
 
-                        TopologyNode topologynode = new TopologyNode(
+                            TopologyNode topologynode = new TopologyNode(
                                 conn.getKey(),
                                 StringUtils.isBlank(conn.getDisplayName()) // [SYNCOPE-1233]
-                                ? conn.getBundleName() : conn.getDisplayName(),
+                                    ? conn.getBundleName() : conn.getDisplayName(),
                                 TopologyNode.Kind.CONNECTOR);
 
-                        // Define the parent note
-                        TopologyNode parent = servers.get(conn.getLocation());
+                            // Define the parent note
+                            TopologyNode parent = servers.get(conn.getLocation());
 
-                        // Set the position
-                        int kx = size >= 6 ? 800 : (130 * size);
+                            // Set the position
+                            int kx = size >= 6 ? 800 : (130 * size);
 
-                        double hpos = conn.getLocation().startsWith(CONNECTOR_SERVER_LOCATION_PREFIX) ? Math.PI : 0.0;
+                            double hpos = conn.getLocation().
+                                startsWith(CONNECTOR_SERVER_LOCATION_PREFIX) ? Math.PI : 0.0;
 
-                        int x = (int) Math.round((Optional.ofNullable(parent).map(TopologyNode::getX).orElse(origX))
+                            int x = (int) Math.round((Optional.ofNullable(parent).map(TopologyNode::getX).orElse(origX))
                                 + kx * Math.cos(hpos + Math.PI * (item.getIndex() + 1) / size));
-                        int y = (int) Math.round((Optional.ofNullable(parent).map(TopologyNode::getY).orElse(origY))
+                            int y = (int) Math.round((Optional.ofNullable(parent).map(TopologyNode::getY).orElse(origY))
                                 + 100 * Math.sin(hpos + Math.PI * (item.getIndex() + 1) / size));
 
-                        topologynode.setConnectionDisplayName(conn.getBundleName());
-                        topologynode.setX(x);
-                        topologynode.setY(y);
-
-                        connectors.put(String.class.cast(topologynode.getKey()), topologynode);
-                        item.add(topologyNodePanel("conn", topologynode, conn.isErrored()));
-
-                        // Update connections
-                        Map<Serializable, TopologyNode> remoteConnections;
-                        if (connections.containsKey(conn.getLocation())) {
-                            remoteConnections = connections.get(conn.getLocation());
-                        } else {
-                            remoteConnections = new HashMap<>();
-                            connections.put(conn.getLocation(), remoteConnections);
+                            topologynode.setConnectionDisplayName(conn.getBundleName());
+                            topologynode.setX(x);
+                            topologynode.setY(y);
+
+                            connectors.put(String.class.cast(topologynode.getKey()), topologynode);
+                            item.add(topologyNodePanel("conn", topologynode, conn.isErrored()));
+
+                            // Update connections
+                            Map<Serializable, TopologyNode> remoteConnections;
+                            if (connections.containsKey(conn.getLocation())) {
+                                remoteConnections = connections.get(conn.getLocation());
+                            } else {
+                                remoteConnections = new HashMap<>();
+                                connections.put(conn.getLocation(), remoteConnections);
+                            }
+                            remoteConnections.put(conn.getKey(), topologynode);
                         }
-                        remoteConnections.put(conn.getKey(), topologynode);
-                    }
-                };
+                    };
 
-                conns.setOutputMarkupId(true);
-                item.add(conns);
-            }
-        };
+                    conns.setOutputMarkupId(true);
+                    item.add(conns);
+                }
+            };
 
         conns.setOutputMarkupId(true);
         body.add(conns);
@@ -384,7 +385,7 @@ public class Topology extends BasePage {
                     }
                 });
 
-        ListView<String> resources = new ListView<String>("resources", connToBeProcessed) {
+        ListView<String> resources = new ListView<>("resources", connToBeProcessed) {
 
             private static final long serialVersionUID = 697862187148836038L;
 
@@ -392,8 +393,8 @@ public class Topology extends BasePage {
             protected void populateItem(final ListItem<String> item) {
                 String connectorKey = item.getModelObject();
 
-                ListView<TopologyNode> innerListView = new ListView<TopologyNode>("resources",
-                        new ArrayList<>(connections.get(connectorKey).values())) {
+                ListView<TopologyNode> innerListView = new ListView<>("resources",
+                    new ArrayList<>(connections.get(connectorKey).values())) {
 
                     private static final long serialVersionUID = -3447760771863754342L;
 
@@ -411,9 +412,9 @@ public class Topology extends BasePage {
                         double hpos = (parent == null || parent.getY() < syncopeTopologyNode.getY()) ? Math.PI : 0.0;
 
                         int x = (int) Math.round((Optional.ofNullable(parent).map(TopologyNode::getX).orElse(origX))
-                                + kx * Math.cos(hpos + Math.PI * (item.getIndex() + 1) / size));
+                            + kx * Math.cos(hpos + Math.PI * (item.getIndex() + 1) / size));
                         int y = (int) Math.round((Optional.ofNullable(parent).map(TopologyNode::getY).orElse(origY))
-                                + ky * Math.sin(hpos + Math.PI * (item.getIndex() + 1) / size));
+                            + ky * Math.sin(hpos + Math.PI * (item.getIndex() + 1) / size));
 
                         topologynode.setX(x);
                         topologynode.setY(y);
@@ -486,7 +487,7 @@ public class Topology extends BasePage {
         newlyCreatedContainer.setOutputMarkupId(true);
         body.add(newlyCreatedContainer);
 
-        newlyCreated = new ListView<TopologyNode>("newlyCreated", new ArrayList<TopologyNode>()) {
+        newlyCreated = new ListView<>("newlyCreated", new ArrayList<>()) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
index fec019e..983190c 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
@@ -94,7 +94,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         propTaskModal.size(Modal.Size.Large);
         addOuterObject(propTaskModal);
 
-        schedTaskModal = new BaseModal<Serializable>(Constants.OUTER) {
+        schedTaskModal = new BaseModal<>(Constants.OUTER) {
 
             private static final long serialVersionUID = 389935548143327858L;
 
@@ -174,7 +174,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
     private Fragment getSyncopeFragment(final PageReference pageRef) {
         Fragment fragment = new Fragment("actions", "syncopeActions", this);
 
-        AjaxLink<String> reload = new IndicatingOnConfirmAjaxLink<String>("reload", "connectors.confirm.reload", true) {
+        AjaxLink<String> reload = new IndicatingOnConfirmAjaxLink<>("reload", "connectors.confirm.reload", true) {
 
             private static final long serialVersionUID = -2075933173666007020L;
 
@@ -193,7 +193,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         fragment.add(reload);
         MetaDataRoleAuthorizationStrategy.authorize(reload, RENDER, IdMEntitlement.CONNECTOR_RELOAD);
 
-        AjaxLink<String> tasks = new IndicatingAjaxLink<String>("tasks") {
+        AjaxLink<String> tasks = new IndicatingAjaxLink<>("tasks") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -218,7 +218,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
     private Fragment getLocationFragment(final TopologyNode node, final PageReference pageRef) {
         Fragment fragment = new Fragment("actions", "locationActions", this);
 
-        AjaxLink<String> create = new IndicatingAjaxLink<String>("create") {
+        AjaxLink<String> create = new IndicatingAjaxLink<>("create") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -231,7 +231,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 modal.setFormModel(model);
 
                 target.add(modal.setContent(new ConnectorWizardBuilder(modelObject, pageRef).
-                        build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
+                    build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
 
                 modal.header(new Model<>(MessageFormat.format(getString("connector.new"), node.getKey())));
                 modal.show(true);
@@ -251,7 +251,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
     private Fragment getConnectorFragment(final TopologyNode node, final PageReference pageRef) {
         Fragment fragment = new Fragment("actions", "connectorActions", this);
 
-        AjaxLink<String> delete = new IndicatingOnConfirmAjaxLink<String>("delete", true) {
+        AjaxLink<String> delete = new IndicatingOnConfirmAjaxLink<>("delete", true) {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -272,7 +272,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(delete, RENDER, IdMEntitlement.CONNECTOR_DELETE);
         fragment.add(delete);
 
-        AjaxLink<String> create = new IndicatingAjaxLink<String>("create") {
+        AjaxLink<String> create = new IndicatingAjaxLink<>("create") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -286,7 +286,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 modal.setFormModel(model);
 
                 target.add(modal.setContent(new ResourceWizardBuilder(modelObject, pageRef).
-                        build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
+                    build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
 
                 modal.header(new Model<>(MessageFormat.format(getString("resource.new"), node.getKey())));
                 modal.show(true);
@@ -301,7 +301,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(create, RENDER, IdMEntitlement.RESOURCE_CREATE);
         fragment.add(create);
 
-        AjaxLink<String> edit = new IndicatingAjaxLink<String>("edit") {
+        AjaxLink<String> edit = new IndicatingAjaxLink<>("edit") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -313,14 +313,14 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 modal.setFormModel(model);
 
                 target.add(modal.setContent(new ConnectorWizardBuilder(connInstance, pageRef).
-                        build(BaseModal.CONTENT_ID,
-                                SyncopeConsoleSession.get().
-                                        owns(IdMEntitlement.CONNECTOR_UPDATE, connInstance.getAdminRealm())
-                                ? AjaxWizard.Mode.EDIT
-                                : AjaxWizard.Mode.READONLY)));
+                    build(BaseModal.CONTENT_ID,
+                        SyncopeConsoleSession.get().
+                            owns(IdMEntitlement.CONNECTOR_UPDATE, connInstance.getAdminRealm())
+                            ? AjaxWizard.Mode.EDIT
+                            : AjaxWizard.Mode.READONLY)));
 
                 modal.header(
-                        new Model<>(MessageFormat.format(getString("connector.edit"), connInstance.getDisplayName())));
+                    new Model<>(MessageFormat.format(getString("connector.edit"), connInstance.getDisplayName())));
                 modal.show(true);
             }
 
@@ -332,7 +332,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(edit, RENDER, IdMEntitlement.CONNECTOR_READ);
         fragment.add(edit);
 
-        AjaxLink<String> history = new IndicatingAjaxLink<String>("history") {
+        AjaxLink<String> history = new IndicatingAjaxLink<>("history") {
 
             private static final long serialVersionUID = -1876519166660008562L;
 
@@ -340,13 +340,13 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
             public void onClick(final AjaxRequestTarget target) {
                 ConnInstanceTO modelObject = ConnectorRestClient.read(node.getKey());
 
-                target.add(historyModal.setContent(new AuditHistoryModal<ConnInstanceTO>(
-                        historyModal,
-                        AuditElements.EventCategoryType.LOGIC,
-                        "ConnectorLogic",
-                        modelObject,
-                        IdMEntitlement.CONNECTOR_UPDATE,
-                        pageRef) {
+                target.add(historyModal.setContent(new AuditHistoryModal<>(
+                    historyModal,
+                    AuditElements.EventCategoryType.LOGIC,
+                    "ConnectorLogic",
+                    modelObject,
+                    IdMEntitlement.CONNECTOR_UPDATE,
+                    pageRef) {
 
                     private static final long serialVersionUID = -3225348282675513648L;
 
@@ -367,7 +367,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 }));
 
                 historyModal.header(
-                        new Model<>(MessageFormat.format(getString("connector.menu.history"), node.getDisplayName())));
+                    new Model<>(MessageFormat.format(getString("connector.menu.history"), node.getDisplayName())));
 
                 historyModal.show(true);
             }
@@ -387,7 +387,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
     private Fragment getResourceFragment(final TopologyNode node, final PageReference pageRef) {
         Fragment fragment = new Fragment("actions", "resourceActions", this);
 
-        AjaxLink<String> delete = new IndicatingOnConfirmAjaxLink<String>("delete", true) {
+        AjaxLink<String> delete = new IndicatingOnConfirmAjaxLink<>("delete", true) {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -408,7 +408,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(delete, RENDER, IdMEntitlement.RESOURCE_DELETE);
         fragment.add(delete);
 
-        AjaxLink<String> edit = new IndicatingAjaxLink<String>("edit") {
+        AjaxLink<String> edit = new IndicatingAjaxLink<>("edit") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -421,11 +421,11 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 modal.setFormModel(model);
 
                 target.add(modal.setContent(new ResourceWizardBuilder(resource, pageRef).
-                        build(BaseModal.CONTENT_ID,
-                                SyncopeConsoleSession.get().
-                                        owns(IdMEntitlement.RESOURCE_UPDATE, connInstance.getAdminRealm())
-                                ? AjaxWizard.Mode.EDIT
-                                : AjaxWizard.Mode.READONLY)));
+                    build(BaseModal.CONTENT_ID,
+                        SyncopeConsoleSession.get().
+                            owns(IdMEntitlement.RESOURCE_UPDATE, connInstance.getAdminRealm())
+                            ? AjaxWizard.Mode.EDIT
+                            : AjaxWizard.Mode.READONLY)));
 
                 modal.header(new Model<>(MessageFormat.format(getString("resource.edit"), node.getKey())));
                 modal.show(true);
@@ -439,7 +439,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(edit, RENDER, IdMEntitlement.RESOURCE_READ);
         fragment.add(edit);
 
-        AjaxLink<String> status = new IndicatingAjaxLink<String>("reconciliation") {
+        AjaxLink<String> status = new IndicatingAjaxLink<>("reconciliation") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -447,9 +447,9 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
             public void onClick(final AjaxRequestTarget target) {
                 ResourceTO modelObject = ResourceRestClient.read(node.getKey());
                 target.add(propTaskModal.setContent(
-                        new ResourceStatusModal(propTaskModal, pageRef, modelObject)));
+                    new ResourceStatusModal(propTaskModal, pageRef, modelObject)));
                 propTaskModal.header(
-                        new Model<>(MessageFormat.format(getString("resource.reconciliation"), node.getKey())));
+                    new Model<>(MessageFormat.format(getString("resource.reconciliation"), node.getKey())));
                 propTaskModal.show(true);
             }
 
@@ -461,7 +461,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(status, RENDER, IdRepoEntitlement.USER_UPDATE);
         fragment.add(status);
 
-        AjaxLink<String> provision = new IndicatingAjaxLink<String>("provision") {
+        AjaxLink<String> provision = new IndicatingAjaxLink<>("provision") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -471,7 +471,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 ConnInstanceTO connInstance = ConnectorRestClient.read(resource.getConnector());
 
                 if (SyncopeConsoleSession.get().
-                        owns(IdMEntitlement.RESOURCE_UPDATE, connInstance.getAdminRealm())) {
+                    owns(IdMEntitlement.RESOURCE_UPDATE, connInstance.getAdminRealm())) {
 
                     provisionModal.addSubmitButton();
                 } else {
@@ -482,7 +482,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 provisionModal.setFormModel(model);
 
                 target.add(provisionModal.setContent(
-                        new ResourceProvisionPanel(provisionModal, resource, connInstance.getAdminRealm(), pageRef)));
+                    new ResourceProvisionPanel(provisionModal, resource, connInstance.getAdminRealm(), pageRef)));
 
                 provisionModal.header(new Model<>(MessageFormat.format(getString("resource.edit"), node.getKey())));
                 provisionModal.show(true);
@@ -496,7 +496,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(edit, RENDER, IdMEntitlement.RESOURCE_READ);
         fragment.add(provision);
 
-        AjaxLink<String> explore = new IndicatingAjaxLink<String>("explore") {
+        AjaxLink<String> explore = new IndicatingAjaxLink<>("explore") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -517,7 +517,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(explore, RENDER, IdMEntitlement.RESOURCE_LIST_CONNOBJECT);
         fragment.add(explore);
 
-        AjaxLink<String> propagation = new IndicatingAjaxLink<String>("propagation") {
+        AjaxLink<String> propagation = new IndicatingAjaxLink<>("propagation") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -525,9 +525,9 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
             @SuppressWarnings("unchecked")
             public void onClick(final AjaxRequestTarget target) {
                 target.add(propTaskModal.setContent(
-                        new PropagationTasks(propTaskModal, node.getKey(), pageRef)));
+                    new PropagationTasks(propTaskModal, node.getKey(), pageRef)));
                 propTaskModal.header(
-                        new Model<>(MessageFormat.format(getString("task.propagation.list"), node.getKey())));
+                    new Model<>(MessageFormat.format(getString("task.propagation.list"), node.getKey())));
                 propTaskModal.show(true);
             }
 
@@ -539,7 +539,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(propagation, RENDER, IdRepoEntitlement.TASK_LIST);
         fragment.add(propagation);
 
-        AjaxLink<String> pull = new IndicatingAjaxLink<String>("pull") {
+        AjaxLink<String> pull = new IndicatingAjaxLink<>("pull") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -558,7 +558,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(pull, RENDER, IdRepoEntitlement.TASK_LIST);
         fragment.add(pull);
 
-        AjaxLink<String> push = new IndicatingAjaxLink<String>("push") {
+        AjaxLink<String> push = new IndicatingAjaxLink<>("push") {
 
             private static final long serialVersionUID = 3776750333491622263L;
 
@@ -577,7 +577,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         MetaDataRoleAuthorizationStrategy.authorize(push, RENDER, IdRepoEntitlement.TASK_LIST);
         fragment.add(push);
 
-        AjaxLink<String> history = new IndicatingAjaxLink<String>("history") {
+        AjaxLink<String> history = new IndicatingAjaxLink<>("history") {
 
             private static final long serialVersionUID = -1876519166660008562L;
 
@@ -585,13 +585,13 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
             public void onClick(final AjaxRequestTarget target) {
                 ResourceTO modelObject = ResourceRestClient.read(node.getKey());
 
-                target.add(historyModal.setContent(new AuditHistoryModal<ResourceTO>(
-                        historyModal,
-                        AuditElements.EventCategoryType.LOGIC,
-                        "ResourceLogic",
-                        modelObject,
-                        IdMEntitlement.RESOURCE_UPDATE,
-                        pageRef) {
+                target.add(historyModal.setContent(new AuditHistoryModal<>(
+                    historyModal,
+                    AuditElements.EventCategoryType.LOGIC,
+                    "ResourceLogic",
+                    modelObject,
+                    IdMEntitlement.RESOURCE_UPDATE,
+                    pageRef) {
 
                     private static final long serialVersionUID = -3712506022627033811L;
 
@@ -612,7 +612,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
                 }));
 
                 historyModal.header(
-                        new Model<>(MessageFormat.format(getString("resource.menu.history"), node.getDisplayName())));
+                    new Model<>(MessageFormat.format(getString("resource.menu.history"), node.getDisplayName())));
 
                 historyModal.show(true);
             }
@@ -627,7 +627,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
         fragment.add(history);
 
         // [SYNCOPE-1161] - Option to clone a resource
-        AjaxLink<String> clone = new IndicatingOnConfirmAjaxLink<String>("clone", "confirmClone", true) {
+        AjaxLink<String> clone = new IndicatingOnConfirmAjaxLink<>("clone", "confirmClone", true) {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -657,11 +657,11 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
 
                     // refresh Topology
                     send(pageRef.getPage(), Broadcast.DEPTH, new AbstractResourceWizardBuilder.CreateEvent(
-                            resource.getKey(),
-                            resource.getKey(),
-                            TopologyNode.Kind.RESOURCE,
-                            resource.getConnector(),
-                            target));
+                        resource.getKey(),
+                        resource.getKey(),
+                        TopologyNode.Kind.RESOURCE,
+                        resource.getConnector(),
+                        target));
 
                     SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
                     toggle(target, false);
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
index 023bb8c..0a105c5 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
@@ -151,7 +151,7 @@ public class ConnConfPropertyListView extends ListView<ConnConfProperty> {
                 withOffStyle(BootstrapToggleConfig.Style.danger).
                 withSize(BootstrapToggleConfig.Size.mini);
 
-        return new BootstrapToggle("externalAction", new PropertyModel<Boolean>(property, "overridable"), config) {
+        return new BootstrapToggle("externalAction", new PropertyModel<>(property, "overridable"), config) {
 
             private static final long serialVersionUID = -875219845189261873L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java
index 663219d..085a4ef 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java
@@ -93,7 +93,7 @@ public class RemediationsWidget extends ExtAlertWidget<RemediationTO> {
 
     @Override
     protected IModel<List<RemediationTO>> getLatestAlerts() {
-        return new ListModel<RemediationTO>() {
+        return new ListModel<>() {
 
             private static final long serialVersionUID = 541491929575585613L;
 
@@ -101,10 +101,10 @@ public class RemediationsWidget extends ExtAlertWidget<RemediationTO> {
             public List<RemediationTO> getObject() {
                 List<RemediationTO> updatedRemediations;
                 if (SyncopeConsoleSession.get().owns(IdMEntitlement.REMEDIATION_LIST)
-                        && SyncopeConsoleSession.get().owns(IdMEntitlement.REMEDIATION_READ)) {
+                    && SyncopeConsoleSession.get().owns(IdMEntitlement.REMEDIATION_READ)) {
 
                     updatedRemediations = RemediationRestClient.getRemediations(1,
-                            MAX_SIZE, new SortParam<>("instant", true));
+                        MAX_SIZE, new SortParam<>("instant", true));
                 } else {
                     updatedRemediations = List.of();
                 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java
index 3e21b1e..3182de3 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java
@@ -181,7 +181,7 @@ public class CSVPullWizardBuilder extends BaseAjaxWizardBuilder<CSVPullSpec> {
             keyColumn.setRequired(true);
             add(keyColumn);
 
-            keyColumn.add(new ListView<String>("columns", columnsModel) {
+            keyColumn.add(new ListView<>("columns", columnsModel) {
 
                 private static final long serialVersionUID = -9112553137618363167L;
 
@@ -231,25 +231,25 @@ public class CSVPullWizardBuilder extends BaseAjaxWizardBuilder<CSVPullSpec> {
 
         private static final long serialVersionUID = -8954789648303078732L;
 
-        private final IModel<List<String>> pullActions = new LoadableDetachableModel<List<String>>() {
+        private final IModel<List<String>> pullActions = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 4659376149825914247L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.PULL_ACTIONS).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
 
-        private final IModel<List<String>> pullCorrelationRules = new LoadableDetachableModel<List<String>>() {
+        private final IModel<List<String>> pullCorrelationRules = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 4659376149825914247L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.PULL_CORRELATION_RULE).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPushWizardBuilder.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPushWizardBuilder.java
index b90a7ec..00d5d45 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPushWizardBuilder.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPushWizardBuilder.java
@@ -107,25 +107,25 @@ public class CSVPushWizardBuilder extends BaseAjaxWizardBuilder<CSVPushSpec> {
 
         private static final long serialVersionUID = -2747583614435078452L;
 
-        private final IModel<List<String>> propActions = new LoadableDetachableModel<List<String>>() {
+        private final IModel<List<String>> propActions = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 4659376149825914247L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.PROPAGATION_ACTIONS).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
 
-        private final IModel<List<String>> pushActions = new LoadableDetachableModel<List<String>>() {
+        private final IModel<List<String>> pushActions = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 4659376149825914247L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdMImplementationType.PUSH_ACTIONS).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountCredentialsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountCredentialsPanel.java
index 5044dea..64c13bf 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountCredentialsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountCredentialsPanel.java
@@ -100,7 +100,7 @@ public class LinkedAccountCredentialsPanel extends WizardStep {
                 withOffStyle(BootstrapToggleConfig.Style.danger).
                 withSize(BootstrapToggleConfig.Size.mini);
 
-        return new BootstrapToggle("externalAction", new PropertyModel<Boolean>(property, "overridable"), config) {
+        return new BootstrapToggle("externalAction", new PropertyModel<>(property, "overridable"), config) {
 
             private static final long serialVersionUID = -875219845189261873L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java
index c303f08..92b812e 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java
@@ -32,6 +32,7 @@ import org.apache.syncope.client.ui.commons.markup.html.form.AjaxDropDownChoiceP
 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.common.lib.to.ConnObjectTO;
 import org.apache.syncope.common.lib.to.LinkedAccountTO;
+import org.apache.syncope.common.lib.to.ResourceTO;
 import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.common.rest.api.beans.ConnObjectTOQuery;
 import org.apache.wicket.Component;
@@ -73,7 +74,7 @@ public class LinkedAccountDetailsPanel extends WizardStep {
                 filter(resource -> resource.getProvision(AnyTypeKind.USER.name()).isPresent()
                 && resource.getProvision(AnyTypeKind.USER.name()).get().getMapping() != null
                 && !resource.getProvision(AnyTypeKind.USER.name()).get().getMapping().getItems().isEmpty()).
-                map(resource -> resource.getKey()).
+                map(ResourceTO::getKey).
                 collect(Collectors.toList()));
         dropdownResourceField.setOutputMarkupId(true);
         dropdownResourceField.addRequiredLabel();
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java
index 2a8374c..3b16078 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java
@@ -120,7 +120,7 @@ public class LinkedAccountPlainAttrsPanel extends AbstractAttrsWizardStep<PlainS
                 withOffStyle(BootstrapToggleConfig.Style.danger).
                 withSize(BootstrapToggleConfig.Size.mini);
 
-        return new BootstrapToggle("externalAction", new PropertyModel<Boolean>(property, "overridable"), config) {
+        return new BootstrapToggle("externalAction", new PropertyModel<>(property, "overridable"), config) {
 
             private static final long serialVersionUID = -875219845189261873L;
 
@@ -240,7 +240,7 @@ public class LinkedAccountPlainAttrsPanel extends AbstractAttrsWizardStep<PlainS
 
             super(id);
 
-            add(new ListView<Attr>("schemas", attrTOs) {
+            add(new ListView<>("schemas", attrTOs) {
 
                 private static final long serialVersionUID = 9101744072914090143L;
 
@@ -250,9 +250,9 @@ public class LinkedAccountPlainAttrsPanel extends AbstractAttrsWizardStep<PlainS
                     final boolean isMultivalue = schemas.get(attrTO.getSchema()).isMultivalue();
 
                     AbstractFieldPanel<?> panel = setPanel(
-                            schemas,
-                            item,
-                            !linkedAccountTO.getPlainAttr(attrTO.getSchema()).isPresent());
+                        schemas,
+                        item,
+                        !linkedAccountTO.getPlainAttr(attrTO.getSchema()).isPresent());
 
                     panel.showExternAction(checkboxToggle(attrTO, panel, isMultivalue));
                 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPrivilegesPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPrivilegesPanel.java
index c33351a..d9898b4 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPrivilegesPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPrivilegesPanel.java
@@ -23,6 +23,7 @@ import java.util.stream.Collectors;
 import org.apache.syncope.client.console.rest.ApplicationRestClient;
 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxPalettePanel;
 import org.apache.syncope.common.lib.to.LinkedAccountTO;
+import org.apache.syncope.common.lib.to.PrivilegeTO;
 import org.apache.wicket.extensions.wizard.WizardStep;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.PropertyModel;
@@ -38,18 +39,18 @@ public class LinkedAccountPrivilegesPanel extends WizardStep {
         super();
         setOutputMarkupId(true);
 
-        final LoadableDetachableModel<List<String>> availablePrivilges = new LoadableDetachableModel<List<String>>() {
+        final LoadableDetachableModel<List<String>> availablePrivilges = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return applicationRestClient.list().stream().
-                        flatMap(app -> app.getPrivileges().stream()).
-                        map(privilege -> privilege.getKey()).
-                        distinct().
-                        sorted().
-                        collect(Collectors.toList());
+                    flatMap(app -> app.getPrivileges().stream()).
+                    map(PrivilegeTO::getKey).
+                    distinct().
+                    sorted().
+                    collect(Collectors.toList());
             }
         };
         AjaxPalettePanel<String> privilegesPanel = new AjaxPalettePanel.Builder<String>().
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsResourcesPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsResourcesPanel.java
index ce208f9..a5bc48b 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsResourcesPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsResourcesPanel.java
@@ -111,7 +111,7 @@ public class MergeLinkedAccountsResourcesPanel extends WizardStep implements ICo
         @Override
         protected ActionsPanel<ResourceTO> getActions(final IModel<ResourceTO> model) {
             final ActionsPanel<ResourceTO> panel = super.getActions(model);
-            panel.add(new ActionLink<ResourceTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
@@ -119,19 +119,19 @@ public class MergeLinkedAccountsResourcesPanel extends WizardStep implements ICo
                 public void onClick(final AjaxRequestTarget target, final ResourceTO resource) {
                     MergeLinkedAccountsWizardModel model = MergeLinkedAccountsResourcesPanel.this.wizardModel;
                     String connObjectKeyValue = ResourceRestClient.getConnObjectKeyValue(
-                            resource.getKey(),
-                            model.getMergingUser().getType(),
-                            model.getMergingUser().getKey());
+                        resource.getKey(),
+                        model.getMergingUser().getType(),
+                        model.getMergingUser().getKey());
                     if (connObjectKeyValue != null) {
                         model.setResource(resource);
                         String tableId = MergeLinkedAccountsResourcesPanel.this.
-                                get("resources:container:content:searchContainer:resultTable"
-                                        + ":tablePanel:groupForm:checkgroup:dataTable").
-                                getMarkupId();
+                            get("resources:container:content:searchContainer:resultTable"
+                                + ":tablePanel:groupForm:checkgroup:dataTable").
+                            getMarkupId();
                         String js = "$('#" + tableId + "').removeClass('active');";
                         js += "$('#" + tableId + " tbody tr td div').filter(function() "
-                                + "{return $(this).text() === \"" + resource.getKey() + "\";})"
-                                + ".parent().parent().addClass('active');";
+                            + "{return $(this).text() === \"" + resource.getKey() + "\";})"
+                            + ".parent().parent().addClass('active');";
                         target.prependJavaScript(js);
 
                     } else {
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java
index 8205605..3188230 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java
@@ -35,7 +35,7 @@ public abstract class ConnectorConfPanel extends AbstractConnConfPanel<ConnInsta
         super(connInstanceTO);
         this.bundles = bundles;
 
-        model = new LoadableDetachableModel<List<ConnConfProperty>>() {
+        model = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = -2965284931860212687L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
index e7ba955..f9b2a85 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
@@ -34,6 +34,7 @@ import org.apache.syncope.client.ui.commons.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.common.lib.to.ConnBundleTO;
 import org.apache.syncope.common.lib.to.ConnInstanceTO;
 import org.apache.syncope.common.lib.to.ConnPoolConfTO;
+import org.apache.syncope.common.lib.to.RealmTO;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteSettings;
 import org.apache.wicket.extensions.wizard.WizardStep;
@@ -66,7 +67,7 @@ public class ConnectorDetailsPanel extends WizardStep {
                         : RealmRestClient.list()).
                         stream().filter(realm -> SyncopeConsoleSession.get().getAuthRealms().stream().anyMatch(
                         authRealm -> realm.getFullPath().startsWith(authRealm))).
-                        map(item -> item.getFullPath()).collect(Collectors.toList()).iterator();
+                        map(RealmTO::getFullPath).collect(Collectors.toList()).iterator();
             }
         };
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java
index 08d7adc..e86481c 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java
@@ -38,7 +38,7 @@ public abstract class ResourceConnConfPanel extends AbstractConnConfPanel<Resour
         super(resourceTO);
         this.createFlag = createFlag;
 
-        model = new LoadableDetachableModel<List<ConnConfProperty>>() {
+        model = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = -2965284931860212687L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java
index 2023c99..94ae8b0 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java
@@ -45,25 +45,25 @@ public class ResourceDetailsPanel extends WizardStep {
 
     private static final long serialVersionUID = -7982691107029848579L;
 
-    private final IModel<List<String>> propagationActions = new LoadableDetachableModel<List<String>>() {
+    private final IModel<List<String>> propagationActions = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
         @Override
         protected List<String> load() {
             return ImplementationRestClient.list(IdMImplementationType.PROPAGATION_ACTIONS).stream().
-                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                map(EntityTO::getKey).sorted().collect(Collectors.toList());
         }
     };
 
-    private final IModel<List<String>> provisionSorters = new LoadableDetachableModel<List<String>>() {
+    private final IModel<List<String>> provisionSorters = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 4659376149825914247L;
 
         @Override
         protected List<String> load() {
             return ImplementationRestClient.list(IdMImplementationType.PROVISION_SORTER).stream().
-                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                map(EntityTO::getKey).sorted().collect(Collectors.toList());
         }
     };
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
index 9b882b5..de84e72 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
@@ -35,7 +35,6 @@ import org.apache.syncope.client.ui.commons.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.syncope.common.lib.to.AnyTypeClassTO;
 import org.apache.syncope.common.lib.to.AnyTypeTO;
-import org.apache.syncope.common.lib.to.ItemTO;
 import org.apache.syncope.common.lib.to.ResourceTO;
 import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.common.lib.types.MappingPurpose;
@@ -82,7 +81,7 @@ public class ResourceMappingPanel extends AbstractMappingPanel {
         super(id,
                 itemTransformers,
                 jexlTransformers,
-                new ListModel<ItemTO>(provision.getItems()),
+            new ListModel<>(provision.getItems()),
                 resourceTO.getConnector() != null,
                 MappingPurpose.BOTH);
 
@@ -90,17 +89,17 @@ public class ResourceMappingPanel extends AbstractMappingPanel {
 
         this.provision = provision;
 
-        extAttrNames = new LoadableDetachableModel<List<String>>() {
+        extAttrNames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return ConnectorRestClient.getExtAttrNames(
-                        adminRealm,
-                        provision.getObjectClass(),
-                        resourceTO.getConnector(),
-                        resourceTO.getConfOverride());
+                    adminRealm,
+                    provision.getObjectClass(),
+                    resourceTO.getConnector(),
+                    resourceTO.getConfOverride());
             }
         };
     }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
index 34305fc..ec8ba12 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
@@ -84,22 +84,22 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
 
         wizard = new ProvisionWizardBuilder(resourceTO, adminRealm, pageRef);
 
-        ListViewPanel.Builder<ResourceProvision> builder = new ListViewPanel.Builder<ResourceProvision>(
-                ResourceProvision.class, pageRef) {
+        ListViewPanel.Builder<ResourceProvision> builder = new ListViewPanel.Builder<>(
+            ResourceProvision.class, pageRef) {
 
             private static final long serialVersionUID = 4907732721283972943L;
 
             @Override
             protected ResourceProvision getActualItem(
-                    final ResourceProvision item, final List<ResourceProvision> list) {
+                final ResourceProvision item, final List<ResourceProvision> list) {
 
                 return Optional.ofNullable(item)
-                        .map(resourceProvision -> list.stream()
+                    .map(resourceProvision -> list.stream()
                         .filter(in -> ((resourceProvision.getKey() == null && in.getKey() == null)
-                        || (in.getKey() != null && in.getKey().equals(resourceProvision.getKey())))
-                        && ((resourceProvision.getAnyType() == null && in.getAnyType() == null)
-                        || (in.getAnyType() != null && in.getAnyType().equals(resourceProvision.getAnyType())))).
-                        findAny().orElse(null)).orElse(null);
+                            || (in.getKey() != null && in.getKey().equals(resourceProvision.getKey())))
+                            && ((resourceProvision.getAnyType() == null && in.getAnyType() == null)
+                            || (in.getAnyType() != null && in.getAnyType().equals(resourceProvision.getAnyType())))).
+                            findAny().orElse(null)).orElse(null);
             }
 
             @Override
@@ -143,7 +143,7 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
         builder.includes("anyType", "objectClass", "auxClasses");
         builder.setReuseItem(false);
 
-        builder.addAction(new ActionLink<ResourceProvision>() {
+        builder.addAction(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435504L;
 
@@ -151,10 +151,10 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
             public void onClick(final AjaxRequestTarget target, final ResourceProvision provision) {
                 try {
                     send(ResourceProvisionPanel.this, Broadcast.DEPTH,
-                            new AjaxWizard.NewItemActionEvent<>(provision, 1, target).setResourceModel(
-                                    new StringResourceModel("inner.provision.mapping",
-                                            ResourceProvisionPanel.this,
-                                            Model.of(provision))));
+                        new AjaxWizard.NewItemActionEvent<>(provision, 1, target).setResourceModel(
+                            new StringResourceModel("inner.provision.mapping",
+                                ResourceProvisionPanel.this,
+                                Model.of(provision))));
                 } catch (SyncopeClientException e) {
                     LOG.error("While contacting resource", e);
                     SyncopeConsoleSession.get().onException(e);
@@ -162,7 +162,7 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
                 }
             }
         }, ActionLink.ActionType.MAPPING, IdMEntitlement.RESOURCE_READ).
-                addAction(new ActionLink<ResourceProvision>() {
+                addAction(new ActionLink<>() {
 
                     private static final long serialVersionUID = -7780999687733432439L;
 
@@ -173,13 +173,13 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
                             SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
                         } catch (Exception e) {
                             LOG.error("While setting latest sync token for {}/{}",
-                                    resourceTO.getKey(), provision.getAnyType(), e);
+                                resourceTO.getKey(), provision.getAnyType(), e);
                             SyncopeConsoleSession.get().onException(e);
                         }
                         ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target);
                     }
                 }, ActionLink.ActionType.SET_LATEST_SYNC_TOKEN, IdMEntitlement.RESOURCE_UPDATE).
-                addAction(new ActionLink<ResourceProvision>() {
+                addAction(new ActionLink<>() {
 
                     private static final long serialVersionUID = -7780999687733432439L;
 
@@ -190,13 +190,13 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
                             SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
                         } catch (Exception e) {
                             LOG.error("While removing sync token for {}/{}",
-                                    resourceTO.getKey(), provision.getAnyType(), e);
+                                resourceTO.getKey(), provision.getAnyType(), e);
                             SyncopeConsoleSession.get().onException(e);
                         }
                         ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target);
                     }
                 }, ActionLink.ActionType.REMOVE_SYNC_TOKEN, IdMEntitlement.RESOURCE_UPDATE).
-                addAction(new ActionLink<ResourceProvision>() {
+                addAction(new ActionLink<>() {
 
                     private static final long serialVersionUID = -3722207913631435544L;
 
@@ -218,14 +218,14 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
         list = builder.build("provision");
         list.setReadOnly(!SyncopeConsoleSession.get().owns(IdMEntitlement.RESOURCE_UPDATE, adminRealm));
 
-        addAjaxLink = new AjaxLink<ResourceProvision>("add") {
+        addAjaxLink = new AjaxLink<>("add") {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target) {
                 send(ResourceProvisionPanel.this, Broadcast.BREADTH,
-                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                    new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
                 objectTypeTogglePanel.setHeaderLabel(target);
                 objectTypeTogglePanel.toggle(target, true);
             }
@@ -299,15 +299,15 @@ public class ResourceProvisionPanel extends AbstractModalPanel<Serializable> {
     }
 
     private LoadableDetachableModel<List<String>> getAnyTypes() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 List<String> anyTypes = AnyTypeRestClient.list().stream().
-                        filter(anyType -> resourceTO.getProvision(anyType).isEmpty()).
-                        collect(Collectors.toList());
+                    filter(anyType -> resourceTO.getProvision(anyType).isEmpty()).
+                    collect(Collectors.toList());
                 if (resourceTO.getOrgUnit() == null) {
                     anyTypes.add(SyncopeConstants.REALM_ANYTYPE);
                 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java
index fe37aa9..e339bba 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java
@@ -39,47 +39,47 @@ public class ResourceSecurityPanel extends WizardStep {
 
     private static final long serialVersionUID = -7982691107029848579L;
 
-    private final IModel<Map<String, String>> passwordPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> passwordPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.PASSWORD).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> accountPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> accountPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.ACCOUNT).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> pullPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> pullPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.PULL).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> pushPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> pushPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 9089911876466472133L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.PUSH).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java
index 44c4e23..f67bdd9 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java
@@ -82,7 +82,7 @@ public abstract class BaseLogin extends WebPage {
 
     protected String notificationLevel;
 
-    private final LoadableDetachableModel<List<String>> domains = new LoadableDetachableModel<List<String>>() {
+    private final LoadableDetachableModel<List<String>> domains = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 4659376149825914247L;
 
@@ -183,7 +183,7 @@ public abstract class BaseLogin extends WebPage {
         form.setDefaultButton(submitButton);
 
         List<Panel> ssoLoginFormPanels = getSSOLoginFormPanels();
-        ListView<Panel> ssoLogins = new ListView<Panel>("ssoLogins", ssoLoginFormPanels) {
+        ListView<Panel> ssoLogins = new ListView<>("ssoLogins", ssoLoginFormPanels) {
 
             private static final long serialVersionUID = -9180479401817023838L;
 
@@ -250,7 +250,7 @@ public abstract class BaseLogin extends WebPage {
             super(id, SUPPORTED_LOCALES);
 
             setChoiceRenderer(new LocaleRenderer());
-            setModel(new IModel<Locale>() {
+            setModel(new IModel<>() {
 
                 private static final long serialVersionUID = -6985170095629312963L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java
index 236a882..f195194 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java
@@ -33,7 +33,7 @@ public class DomainDropDown extends DropDownChoice<String> {
 
     public DomainDropDown(final String id, final IModel<List<String>> domains) {
         super(id, domains);
-        setModel(new IModel<String>() {
+        setModel(new IModel<>() {
 
             private static final long serialVersionUID = -1124206668056084806L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.java
index 383d20d..a398e9b 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.java
@@ -62,7 +62,7 @@ public class AjaxCheckBoxPanel extends FieldPanel<Boolean> {
 
     @Override
     public FieldPanel<Boolean> setNewModel(final List<Serializable> list) {
-        setNewModel(new Model<Boolean>() {
+        setNewModel(new Model<>() {
 
             private static final long serialVersionUID = 527651414610325237L;
 
@@ -92,7 +92,7 @@ public class AjaxCheckBoxPanel extends FieldPanel<Boolean> {
     @SuppressWarnings("rawtypes")
     @Override
     public FieldPanel<Boolean> setNewModel(final ListItem item) {
-        IModel<Boolean> model = new Model<Boolean>() {
+        IModel<Boolean> model = new Model<>() {
 
             private static final long serialVersionUID = 6799404673615637845L;
 
@@ -118,7 +118,7 @@ public class AjaxCheckBoxPanel extends FieldPanel<Boolean> {
             @SuppressWarnings("unchecked")
             public void setObject(final Boolean object) {
                 item.setModelObject(Optional.ofNullable(object)
-                        .map(Object::toString).orElseGet(Boolean.FALSE::toString));
+                    .map(Object::toString).orElseGet(Boolean.FALSE::toString));
             }
         };
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java
index 8bd45be..2190f80 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java
@@ -75,7 +75,7 @@ public class AjaxGrid<K, V, S> extends Panel {
         newCols.addAll(columns);
         newCols.add(new AjaxGridActionsColumn<>(new Model<>("Actions")));
 
-        dataTable = new EditableDataTable<Pair<K, V>, S>("dataTable", newCols, dataProvider, rowsPerPage, null) {
+        dataTable = new EditableDataTable<>("dataTable", newCols, dataProvider, rowsPerPage, null) {
 
             protected static final long serialVersionUID = 1L;
 
@@ -126,7 +126,7 @@ public class AjaxGrid<K, V, S> extends Panel {
             final EditableDataTable<Pair<K, V>, S> dataTable,
             final IEditableDataProvider<Pair<K, V>, S> dataProvider) {
 
-        return new AjaxGridBottomToolbar<Pair<K, V>, S>(dataTable) {
+        return new AjaxGridBottomToolbar<>(dataTable) {
 
             protected static final long serialVersionUID = 1L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java
index ce2153e..fbf9ecf 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java
@@ -44,12 +44,12 @@ public class AjaxGridFieldPanel<K, V, S> extends Panel {
 
         add(new Label(AbstractFieldPanel.LABEL, new ResourceModel(name, name)));
 
-        add(new AjaxGrid<K, V, S>(
-                "grid",
-                getColumns(),
-                new EditableListDataProvider<Pair<K, V>, S>(model.getObject().entrySet().stream().
-                        map(entry -> MutablePair.of(entry.getKey(), entry.getValue())).
-                        collect(Collectors.toList())), 10) {
+        add(new AjaxGrid<>(
+            "grid",
+            getColumns(),
+            new EditableListDataProvider<>(model.getObject().entrySet().stream().
+                map(entry -> MutablePair.of(entry.getKey(), entry.getValue())).
+                collect(Collectors.toList())), 10) {
 
             private static final long serialVersionUID = 1L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java
index c6c2250..8806ce2 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java
@@ -129,8 +129,8 @@ public class AjaxPalettePanel<T extends Serializable> extends AbstractFieldPanel
     }
 
     protected Palette<T> buildPalette(final IModel<List<T>> model, final Builder<T> builder) {
-        return new NonI18nPalette<T>(
-                "paletteField", model, choicesModel, builder.renderer, 8, builder.allowOrder, builder.allowMoveAll) {
+        return new NonI18nPalette<>(
+            "paletteField", model, choicesModel, builder.renderer, 8, builder.allowOrder, builder.allowMoveAll) {
 
             private static final long serialVersionUID = -3074655279011678437L;
 
@@ -146,7 +146,7 @@ public class AjaxPalettePanel<T extends Serializable> extends AbstractFieldPanel
 
             @Override
             protected Recorder<T> newRecorderComponent() {
-                Recorder<T> recorder = new Recorder<T>("recorder", this) {
+                Recorder<T> recorder = new Recorder<>("recorder", this) {
 
                     private static final long serialVersionUID = -9169109967480083523L;
 
@@ -173,7 +173,7 @@ public class AjaxPalettePanel<T extends Serializable> extends AbstractFieldPanel
 
                         // reduce number of method calls by building a lookup table
                         Map<T, String> idForChoice = choices.stream().collect(Collectors.toMap(
-                                Function.identity(), choice -> renderer.getIdValue(choice, 0), (c1, c2) -> c1));
+                            Function.identity(), choice -> renderer.getIdValue(choice, 0), (c1, c2) -> c1));
 
                         List<T> selected = new ArrayList<>(choices.size());
                         builder.idExtractor.apply(getValue()).forEach(id -> {
@@ -205,8 +205,8 @@ public class AjaxPalettePanel<T extends Serializable> extends AbstractFieldPanel
             @Override
             protected Map<String, String> getAdditionalAttributes(final Object choice) {
                 return builder.additionalAttributes == null
-                        ? super.getAdditionalAttributes(choice)
-                        : builder.additionalAttributes.apply(choice);
+                    ? super.getAdditionalAttributes(choice)
+                    : builder.additionalAttributes.apply(choice);
             }
         };
     }
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
index 125a936..838ad5b 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
@@ -59,7 +59,7 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
 
         super(id, name, model);
 
-        field = new AjaxSpinner<T>("spinner", model, options, reference) {
+        field = new AjaxSpinner<>("spinner", model, options, reference) {
 
             private static final long serialVersionUID = -3624755213720060594L;
 
@@ -93,7 +93,7 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
 
     @Override
     public AjaxSpinnerFieldPanel<T> setNewModel(final List<Serializable> list) {
-        setNewModel(new Model<T>() {
+        setNewModel(new Model<>() {
 
             private static final long serialVersionUID = 527651414610325237L;
 
@@ -102,19 +102,19 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
                 T value = null;
 
                 if (list != null && !list.isEmpty()
-                        && list.get(0) != null && StringUtils.isNotBlank(list.get(0).toString())) {
+                    && list.get(0) != null && StringUtils.isNotBlank(list.get(0).toString())) {
 
                     value = reference.equals(Integer.class)
-                            ? reference.cast(NumberUtils.toInt(list.get(0).toString()))
-                            : reference.equals(Long.class)
-                            ? reference.cast(NumberUtils.toLong(list.get(0).toString()))
-                            : reference.equals(Short.class)
-                            ? reference.cast(NumberUtils.toShort(list.get(0).toString()))
-                            : reference.equals(Float.class)
-                            ? reference.cast(NumberUtils.toFloat(list.get(0).toString()))
-                            : reference.equals(byte.class)
-                            ? reference.cast(NumberUtils.toByte(list.get(0).toString()))
-                            : reference.cast(NumberUtils.toDouble(list.get(0).toString()));
+                        ? reference.cast(NumberUtils.toInt(list.get(0).toString()))
+                        : reference.equals(Long.class)
+                        ? reference.cast(NumberUtils.toLong(list.get(0).toString()))
+                        : reference.equals(Short.class)
+                        ? reference.cast(NumberUtils.toShort(list.get(0).toString()))
+                        : reference.equals(Float.class)
+                        ? reference.cast(NumberUtils.toFloat(list.get(0).toString()))
+                        : reference.equals(byte.class)
+                        ? reference.cast(NumberUtils.toByte(list.get(0).toString()))
+                        : reference.cast(NumberUtils.toDouble(list.get(0).toString()));
                 }
 
                 return value;
@@ -135,7 +135,7 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
     @SuppressWarnings("rawtypes")
     @Override
     public AjaxSpinnerFieldPanel<T> setNewModel(final ListItem item) {
-        field.setModel(new Model<T>() {
+        field.setModel(new Model<>() {
 
             private static final long serialVersionUID = 6799404673615637845L;
 
@@ -149,16 +149,16 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
                     if (obj instanceof String) {
                         try {
                             number = reference.equals(Integer.class)
-                                    ? reference.cast(Integer.valueOf((String) obj))
-                                    : reference.equals(Long.class)
-                                    ? reference.cast(Long.valueOf((String) obj))
-                                    : reference.equals(Short.class)
-                                    ? reference.cast(Short.valueOf((String) obj))
-                                    : reference.equals(Float.class)
-                                    ? reference.cast(Float.valueOf((String) obj))
-                                    : reference.equals(byte.class)
-                                    ? reference.cast(Byte.valueOf((String) obj))
-                                    : reference.cast(Double.valueOf((String) obj));
+                                ? reference.cast(Integer.valueOf((String) obj))
+                                : reference.equals(Long.class)
+                                ? reference.cast(Long.valueOf((String) obj))
+                                : reference.equals(Short.class)
+                                ? reference.cast(Short.valueOf((String) obj))
+                                : reference.equals(Float.class)
+                                ? reference.cast(Float.valueOf((String) obj))
+                                : reference.equals(byte.class)
+                                ? reference.cast(Byte.valueOf((String) obj))
+                                : reference.cast(Double.valueOf((String) obj));
                         } catch (NumberFormatException e) {
                             LOG.error("While attempting to parse {}", obj, e);
                         }
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.java
index c092850..19edf02 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.java
@@ -60,7 +60,7 @@ public class AjaxTextFieldPanel extends FieldPanel<String> implements Cloneable
         settings.setShowListOnEmptyInput(true);
         settings.setCssClassName("custom-autocomplete-box");
 
-        field = new AutoCompleteTextField<String>("textField", model, settings) {
+        field = new AutoCompleteTextField<>("textField", model, settings) {
 
             private static final long serialVersionUID = -6648767303091874219L;
 
@@ -71,8 +71,8 @@ public class AjaxTextFieldPanel extends FieldPanel<String> implements Cloneable
 
             @Override
             protected AutoCompleteBehavior<String> newAutoCompleteBehavior(
-                    final IAutoCompleteRenderer<String> renderer, final AutoCompleteSettings settings) {
-                return new IndicatorAutoCompleteBehavior<String>(renderer, settings) {
+                final IAutoCompleteRenderer<String> renderer, final AutoCompleteSettings settings) {
+                return new IndicatorAutoCompleteBehavior<>(renderer, settings) {
 
                     private static final long serialVersionUID = 1070808433195962931L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java
index d8e85b9..0fc4207 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/DateFieldPanel.java
@@ -46,7 +46,7 @@ public abstract class DateFieldPanel extends FieldPanel<Date> {
 
     @Override
     public FieldPanel<Date> setNewModel(final List<Serializable> list) {
-        setNewModel(new Model<Date>() {
+        setNewModel(new Model<>() {
 
             private static final long serialVersionUID = 527651414610325237L;
 
@@ -80,7 +80,7 @@ public abstract class DateFieldPanel extends FieldPanel<Date> {
     @SuppressWarnings("rawtypes")
     @Override
     public FieldPanel<Date> setNewModel(final ListItem item) {
-        IModel<Date> model = new Model<Date>() {
+        IModel<Date> model = new Model<>() {
 
             private static final long serialVersionUID = 6799404673615637845L;
 
@@ -123,7 +123,7 @@ public abstract class DateFieldPanel extends FieldPanel<Date> {
 
     @Override
     public FieldPanel<Date> setNewModel(final Attributable attributable, final String schema) {
-        field.setModel(new Model<Date>() {
+        field.setModel(new Model<>() {
 
             private static final long serialVersionUID = -4214654722524358000L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.java
index 3386780..a26302e 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.java
@@ -37,13 +37,13 @@ public class EncryptedFieldPanel extends FieldPanel<String> implements Cloneable
             final String id, final String name, final IModel<String> model, final boolean enableOnChange) {
         super(id, name, model);
 
-        field = new TextField<String>("encryptedField", model) {
+        field = new TextField<>("encryptedField", model) {
 
             private static final long serialVersionUID = 7545877620091912863L;
 
             @Override
             protected String[] getInputTypes() {
-                return new String[] { "password" };
+                return new String[]{"password"};
             }
         };
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.java
index aad0971..3119be0 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.java
@@ -107,7 +107,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard
             model.setCancelVisible(false);
         }
 
-        add(new ListView<Component>("outerObjectsRepeater", outerObjects) {
+        add(new ListView<>("outerObjectsRepeater", outerObjects) {
 
             private static final long serialVersionUID = -9180479401817023838L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizardBuilder.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizardBuilder.java
index 9d2bc2d..b5ec608 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizardBuilder.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/AjaxWizardBuilder.java
@@ -90,7 +90,7 @@ public abstract class AjaxWizardBuilder<T extends Serializable> extends Abstract
         // get the specified item if available
         T modelObj = newModelObject();
 
-        return new AjaxWizard<T>(id, modelObj, buildModelSteps(modelObj, new WizardModel()), mode, pageRef) {
+        return new AjaxWizard<>(id, modelObj, buildModelSteps(modelObj, new WizardModel()), mode, pageRef) {
 
             private static final long serialVersionUID = 7770507663760640735L;
 
@@ -136,7 +136,7 @@ public abstract class AjaxWizardBuilder<T extends Serializable> extends Abstract
 
             @Override
             protected Future<Pair<Serializable, Serializable>> execute(
-                    final Callable<Pair<Serializable, Serializable>> future) {
+                final Callable<Pair<Serializable, Serializable>> future) {
                 return AjaxWizardBuilder.this.execute(future);
             }
         }.setEventSink(eventSink).addOuterObject(outerObjects);
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/any/AbstractResources.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/any/AbstractResources.java
index e2dc29b..47c265f 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/any/AbstractResources.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/wizards/any/AbstractResources.java
@@ -53,20 +53,20 @@ public abstract class AbstractResources extends WizardStep implements ICondition
         this.available = new ListModel<>(List.of());
 
         add(new AjaxPalettePanel.Builder<String>().build("resources",
-                new PropertyModel<List<String>>(entityTO, "resources") {
+            new PropertyModel<>(entityTO, "resources") {
 
-            private static final long serialVersionUID = 3799387950428254072L;
+                private static final long serialVersionUID = 3799387950428254072L;
 
-            @Override
-            public List<String> getObject() {
-                return new ArrayList<>(entityTO.getResources());
-            }
+                @Override
+                public List<String> getObject() {
+                    return new ArrayList<>(entityTO.getResources());
+                }
 
-            @Override
-            public void setObject(final List<String> object) {
-                entityTO.getResources().clear();
-                entityTO.getResources().addAll(object);
-            }
-        }, available).hideLabel().setOutputMarkupId(true));
+                @Override
+                public void setObject(final List<String> object) {
+                    entityTO.getResources().clear();
+                    entityTO.getResources().addAll(object);
+                }
+            }, available).hideLabel().setOutputMarkupId(true));
     }
 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
index 838132f..680f4ca 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/PreferenceManager.java
@@ -47,7 +47,7 @@ public final class PreferenceManager implements Serializable {
 
     private static final ObjectMapper MAPPER = new ObjectMapper();
 
-    private static final TypeReference<Map<String, String>> MAP_TYPE_REF = new TypeReference<Map<String, String>>() {
+    private static final TypeReference<Map<String, String>> MAP_TYPE_REF = new TypeReference<>() {
     };
 
     private static final List<Integer> PAGINATOR_CHOICES = List.of(10, 25, 50);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java
index 47fae01..5911ecc 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDetails.java
@@ -84,7 +84,7 @@ public abstract class AuditHistoryDetails<T extends Serializable> extends Multil
             }
         });
 
-        AjaxLink<Void> restore = new AjaxLink<Void>("restore") {
+        AjaxLink<Void> restore = new AjaxLink<>("restore") {
 
             private static final long serialVersionUID = -817438685948164787L;
 
@@ -92,8 +92,8 @@ public abstract class AuditHistoryDetails<T extends Serializable> extends Multil
             public void onClick(final AjaxRequestTarget target) {
                 try {
                     String json = selected.getBefore() == null
-                            ? MAPPER.readTree(selected.getOutput()).get("entity").toPrettyString()
-                            : selected.getBefore();
+                        ? MAPPER.readTree(selected.getOutput()).get("entity").toPrettyString()
+                        : selected.getBefore();
                     restore(json, target);
 
                     mlp.prev(target);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java
index a12ee8f..a12138b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/audit/AuditHistoryDirectoryPanel.java
@@ -123,7 +123,7 @@ public abstract class AuditHistoryDirectoryPanel<T extends Serializable> extends
     protected ActionsPanel<AuditEntry> getActions(final IModel<AuditEntry> model) {
         final ActionsPanel<AuditEntry> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AuditEntry>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -6745431735457245600L;
 
@@ -132,16 +132,16 @@ public abstract class AuditHistoryDirectoryPanel<T extends Serializable> extends
                 AuditHistoryDirectoryPanel.this.getTogglePanel().close(target);
 
                 mlp.next(
-                        new StringResourceModel("audit.diff.view", AuditHistoryDirectoryPanel.this).getObject(),
-                        new AuditHistoryDetails<T>(mlp, modelObject, entity, auditRestoreEntitlement) {
+                    new StringResourceModel("audit.diff.view", AuditHistoryDirectoryPanel.this).getObject(),
+                    new AuditHistoryDetails<T>(mlp, modelObject, entity, auditRestoreEntitlement) {
 
-                    private static final long serialVersionUID = -5311898419151367494L;
+                        private static final long serialVersionUID = -5311898419151367494L;
 
-                    @Override
-                    protected void restore(final String json, final AjaxRequestTarget target) {
-                        AuditHistoryDirectoryPanel.this.restore(json, target);
-                    }
-                }, target);
+                        @Override
+                        protected void restore(final String json, final AjaxRequestTarget target) {
+                            AuditHistoryDirectoryPanel.this.restore(json, target);
+                        }
+                    }, target);
 
                 target.add(modal);
             }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/batch/BatchContent.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/batch/BatchContent.java
index 7193aab..9f20b2a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/batch/BatchContent.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/batch/BatchContent.java
@@ -110,7 +110,7 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
         setup(items, columns);
 
         for (ActionLink.ActionType action : actions) {
-            actionPanel.add(new ActionLink<Serializable>() {
+            actionPanel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -3722207913631435501L;
 
@@ -137,7 +137,7 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
 
                                 try {
                                     batchExecutor.getClass().getMethod("deleteExecution", String.class).
-                                            invoke(batchExecutor, exec.getKey());
+                                        invoke(batchExecutor, exec.getKey());
                                     results.put(exec.getKey(), ExecStatus.SUCCESS.name());
                                 } catch (Exception e) {
                                     LOG.error("Error deleting execution {}", exec.getKey(), e);
@@ -150,16 +150,16 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                             // Group bean information by anyKey
                             Map<String, List<StatusBean>> beans = new HashMap<>();
                             items.stream().map(StatusBean.class::cast).
-                                    forEachOrdered(sb -> {
-                                        final List<StatusBean> sblist;
-                                        if (beans.containsKey(sb.getKey())) {
-                                            sblist = beans.get(sb.getKey());
-                                        } else {
-                                            sblist = new ArrayList<>();
-                                            beans.put(sb.getKey(), sblist);
-                                        }
-                                        sblist.add(sb);
-                                    });
+                                forEachOrdered(sb -> {
+                                    final List<StatusBean> sblist;
+                                    if (beans.containsKey(sb.getKey())) {
+                                        sblist = beans.get(sb.getKey());
+                                    } else {
+                                        sblist = new ArrayList<>();
+                                        beans.put(sb.getKey(), sblist);
+                                    }
+                                    sblist.add(sb);
+                                });
 
                             results = new HashMap<>();
                             beans.forEach((key, value) -> {
@@ -168,32 +168,32 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                 switch (action) {
                                     case DEPROVISION:
                                         results.putAll(anyRestClient.deassociate(
-                                                ResourceDeassociationAction.DEPROVISION, etag, key, value));
+                                            ResourceDeassociationAction.DEPROVISION, etag, key, value));
                                         break;
 
                                     case UNASSIGN:
                                         results.putAll(anyRestClient.deassociate(
-                                                ResourceDeassociationAction.UNASSIGN, etag, key, value));
+                                            ResourceDeassociationAction.UNASSIGN, etag, key, value));
                                         break;
 
                                     case UNLINK:
                                         results.putAll(anyRestClient.deassociate(
-                                                ResourceDeassociationAction.UNLINK, etag, key, value));
+                                            ResourceDeassociationAction.UNLINK, etag, key, value));
                                         break;
 
                                     case ASSIGN:
                                         results.putAll(anyRestClient.associate(
-                                                ResourceAssociationAction.ASSIGN, etag, key, value));
+                                            ResourceAssociationAction.ASSIGN, etag, key, value));
                                         break;
 
                                     case LINK:
                                         results.putAll(anyRestClient.associate(
-                                                ResourceAssociationAction.LINK, etag, key, value));
+                                            ResourceAssociationAction.LINK, etag, key, value));
                                         break;
 
                                     case PROVISION:
                                         results.putAll(anyRestClient.associate(
-                                                ResourceAssociationAction.PROVISION, etag, key, value));
+                                            ResourceAssociationAction.PROVISION, etag, key, value));
                                         break;
 
                                     case SUSPEND:
@@ -214,10 +214,10 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                             GroupService batchGroupService = batch.getService(GroupService.class);
                             AnyObjectService batchAnyObjectService = batch.getService(AnyObjectService.class);
                             AnyService<?> batchAnyService = singleItem instanceof UserTO
-                                    ? batchUserService
-                                    : singleItem instanceof GroupTO
-                                            ? batchGroupService
-                                            : batchAnyObjectService;
+                                ? batchUserService
+                                : singleItem instanceof GroupTO
+                                ? batchGroupService
+                                : batchAnyObjectService;
                             TaskService batchTaskService = batch.getService(TaskService.class);
                             ReportService batchReportService = batch.getService(ReportService.class);
 
@@ -231,7 +231,7 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                         UserUR req = new UserUR();
                                         req.setKey(user.getKey());
                                         req.setMustChangePassword(new BooleanReplacePatchItem.Builder().
-                                                value(!user.isMustChangePassword()).build());
+                                            value(!user.isMustChangePassword()).build());
 
                                         batchUserService.update(req);
                                     });
@@ -242,11 +242,11 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                         UserTO user = (UserTO) item;
 
                                         StatusR req = new StatusR.Builder().
-                                                key(user.getKey()).
-                                                type(StatusRType.SUSPEND).
-                                                onSyncope(true).
-                                                resources(user.getResources()).
-                                                build();
+                                            key(user.getKey()).
+                                            type(StatusRType.SUSPEND).
+                                            onSyncope(true).
+                                            resources(user.getResources()).
+                                            build();
 
                                         batchUserService.status(req);
                                     });
@@ -257,11 +257,11 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                         UserTO user = (UserTO) item;
 
                                         StatusR req = new StatusR.Builder().
-                                                key(user.getKey()).
-                                                type(StatusRType.REACTIVATE).
-                                                onSyncope(true).
-                                                resources(user.getResources()).
-                                                build();
+                                            key(user.getKey()).
+                                            type(StatusRType.REACTIVATE).
+                                            onSyncope(true).
+                                            resources(user.getResources()).
+                                            build();
 
                                         batchUserService.status(req);
                                     });
@@ -278,8 +278,8 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                             TaskTO task = (TaskTO) item;
 
                                             batchTaskService.delete(
-                                                    TaskType.fromTOClass(task.getClass()),
-                                                    task.getKey());
+                                                TaskType.fromTOClass(task.getClass()),
+                                                task.getKey());
                                         } else if (singleItem instanceof ReportTO) {
                                             ReportTO report = (ReportTO) item;
 
@@ -296,7 +296,7 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                         TaskTO task = (TaskTO) item;
 
                                         batchTaskService.execute(
-                                                new ExecuteQuery.Builder().dryRun(true).key(task.getKey()).build());
+                                            new ExecuteQuery.Builder().dryRun(true).key(task.getKey()).build());
                                     });
                                     break;
 
@@ -306,12 +306,12 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                                             TaskTO task = (TaskTO) item;
 
                                             batchTaskService.execute(new ExecuteQuery.Builder().
-                                                    dryRun(false).key(task.getKey()).build());
+                                                dryRun(false).key(task.getKey()).build());
                                         } else if (singleItem instanceof ReportTO) {
                                             ReportTO report = (ReportTO) item;
 
                                             batchReportService.execute(new ExecuteQuery.Builder().
-                                                    key(report.getKey()).build());
+                                                key(report.getKey()).build());
                                         }
                                     });
                                     break;
@@ -320,15 +320,15 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                             }
 
                             results = CastUtils.cast(Map.class.cast(
-                                    batchExecutor.getClass().getMethod("batch",
-                                            BatchRequest.class).invoke(batchExecutor, batch)));
+                                batchExecutor.getClass().getMethod("batch",
+                                    BatchRequest.class).invoke(batchExecutor, batch)));
 
                             if (singleItem instanceof AnyTO) {
                                 AbstractAnyRestClient<? extends AnyTO> anyRestClient = singleItem instanceof UserTO
-                                        ? UserRestClient.class.cast(batchExecutor)
-                                        : singleItem instanceof GroupTO
-                                                ? GroupRestClient.class.cast(batchExecutor)
-                                                : AnyObjectRestClient.class.cast(batchExecutor);
+                                    ? UserRestClient.class.cast(batchExecutor)
+                                    : singleItem instanceof GroupTO
+                                    ? GroupRestClient.class.cast(batchExecutor)
+                                    : AnyObjectRestClient.class.cast(batchExecutor);
                                 for (int i = 0; i < items.size(); i++) {
                                     String key = ((AnyTO) items.get(i)).getKey();
                                     if (!deletedAnys.contains(key)) {
@@ -342,10 +342,10 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
                         newColumnList.add(newColumnList.size(), new BatchResponseColumn<>(results, keyFieldName));
 
                         container.addOrReplace(new AjaxFallbackDefaultDataTable<>(
-                                "selectedObjects",
-                                newColumnList,
-                                dataProvider,
-                                Integer.MAX_VALUE).setVisible(!items.isEmpty()));
+                            "selectedObjects",
+                            newColumnList,
+                            dataProvider,
+                            Integer.MAX_VALUE).setVisible(!items.isEmpty()));
 
                         actionPanel.setEnabled(false);
                         actionPanel.setVisible(false);
@@ -395,7 +395,7 @@ public class BatchContent<T extends Serializable, S> extends MultilevelPanel.Sec
         container.setOutputMarkupId(true);
         add(container);
 
-        dataProvider = new SortableDataProvider<T, S>() {
+        dataProvider = new SortableDataProvider<>() {
 
             private static final long serialVersionUID = 5291903859908641954L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
index 887df15..a95f03d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
@@ -157,21 +157,21 @@ public class IdRepoImplementationInfoProvider implements ImplementationInfoProvi
 
     @Override
     public IModel<List<String>> getTaskJobDelegates() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdRepoImplementationType.TASKJOB_DELEGATE).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
     }
 
     @Override
     public IModel<List<String>> getReconFilterBuilders() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -184,7 +184,7 @@ public class IdRepoImplementationInfoProvider implements ImplementationInfoProvi
 
     @Override
     public IModel<List<String>> getPullActions() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -197,7 +197,7 @@ public class IdRepoImplementationInfoProvider implements ImplementationInfoProvi
 
     @Override
     public IModel<List<String>> getPushActions() {
-        return new LoadableDetachableModel<List<String>>() {
+        return new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoRealmPolicyProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoRealmPolicyProvider.java
index 797e254..1e67370 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoRealmPolicyProvider.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoRealmPolicyProvider.java
@@ -38,25 +38,25 @@ public class IdRepoRealmPolicyProvider implements RealmPolicyProvider {
 
     private static final long serialVersionUID = 1L;
 
-    private final IModel<Map<String, String>> accountPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> accountPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.ACCOUNT).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
-    private final IModel<Map<String, String>> passwordPolicies = new LoadableDetachableModel<Map<String, String>>() {
+    private final IModel<Map<String, String>> passwordPolicies = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = -2012833443695917883L;
 
         @Override
         protected Map<String, String> load() {
             return PolicyRestClient.list(PolicyType.PASSWORD).stream().
-                    collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
+                collect(Collectors.toMap(PolicyTO::getKey, PolicyTO::getName));
         }
     };
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
index 9d86c1a..cbad77a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
@@ -107,7 +107,7 @@ public abstract class EventCategoryPanel extends Panel {
                 new PropertyModel<>(eventCategoryTO, "type"),
                 false);
         type.setChoices(List.of(EventCategoryType.values()));
-        type.setChoiceRenderer(new IChoiceRenderer<EventCategoryType>() {
+        type.setChoiceRenderer(new IChoiceRenderer<>() {
 
             private static final long serialVersionUID = 2317134950949778735L;
 
@@ -123,7 +123,7 @@ public abstract class EventCategoryPanel extends Panel {
 
             @Override
             public EventCategoryType getObject(
-                    final String id, final IModel<? extends List<? extends EventCategoryType>> choices) {
+                final String id, final IModel<? extends List<? extends EventCategoryType>> choices) {
                 return choices.getObject().stream().filter(object -> object.name().equals(id)).findAny().orElse(null);
             }
         });
@@ -184,7 +184,7 @@ public abstract class EventCategoryPanel extends Panel {
         categoryContainer.add(custom.hideLabel());
 
         actionsPanel = new ActionsPanel<>("customActions", null);
-        actionsPanel.add(new ActionLink<EventCategory>() {
+        actionsPanel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -192,26 +192,26 @@ public abstract class EventCategoryPanel extends Panel {
             public void onClick(final AjaxRequestTarget target, final EventCategory ignore) {
                 if (StringUtils.isNotBlank(custom.getModelObject())) {
                     Pair<EventCategory, AuditElements.Result> parsed = AuditLoggerName.parseEventCategory(custom.
-                            getModelObject());
+                        getModelObject());
 
                     String eventString = AuditLoggerName.buildEvent(
-                            parsed.getKey().getType(),
-                            null,
-                            null,
-                            parsed.getKey().getEvents().isEmpty()
+                        parsed.getKey().getType(),
+                        null,
+                        null,
+                        parsed.getKey().getEvents().isEmpty()
                             ? StringUtils.EMPTY : parsed.getKey().getEvents().iterator().next(),
-                            parsed.getValue());
+                        parsed.getValue());
 
                     custom.setModelObject(StringUtils.EMPTY);
                     send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
-                            target,
-                            Set.of(eventString),
-                            Set.of()));
+                        target,
+                        Set.of(eventString),
+                        Set.of()));
                     target.add(categoryContainer);
                 }
             }
         }, ActionLink.ActionType.CREATE, StringUtils.EMPTY).hideLabel();
-        actionsPanel.add(new ActionLink<EventCategory>() {
+        actionsPanel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435521L;
 
@@ -219,21 +219,21 @@ public abstract class EventCategoryPanel extends Panel {
             public void onClick(final AjaxRequestTarget target, final EventCategory ignore) {
                 if (StringUtils.isNotBlank(custom.getModelObject())) {
                     Pair<EventCategory, AuditElements.Result> parsed = AuditLoggerName.parseEventCategory(custom.
-                            getModelObject());
+                        getModelObject());
 
                     String eventString = AuditLoggerName.buildEvent(
-                            parsed.getKey().getType(),
-                            null,
-                            null,
-                            parsed.getKey().getEvents().isEmpty()
+                        parsed.getKey().getType(),
+                        null,
+                        null,
+                        parsed.getKey().getEvents().isEmpty()
                             ? StringUtils.EMPTY : parsed.getKey().getEvents().iterator().next(),
-                            parsed.getValue());
+                        parsed.getValue());
 
                     custom.setModelObject(StringUtils.EMPTY);
                     send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
-                            target,
-                            Set.of(),
-                            Set.of(eventString)));
+                        target,
+                        Set.of(),
+                        Set.of(eventString)));
                     target.add(categoryContainer);
                 }
             }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java
index 83ff337..ab43d8b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java
@@ -95,7 +95,7 @@ public abstract class EventSelectionPanel extends Panel {
         successSelector.setVisible(!events.isEmpty());
         add(successSelector);
 
-        ListView<String> categoryView = new ListView<String>("categoryView", events) {
+        ListView<String> categoryView = new ListView<>("categoryView", events) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
@@ -106,20 +106,20 @@ public abstract class EventSelectionPanel extends Panel {
         };
         add(categoryView);
 
-        ListView<String> successView = new ListView<String>("successView", events) {
+        ListView<String> successView = new ListView<>("successView", events) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
             @Override
             protected void populateItem(final ListItem<String> item) {
                 item.add(new Check<>("successCheck",
-                        new Model<>(AuditLoggerName.buildEvent(
-                                eventCategoryTO.getType(),
-                                eventCategoryTO.getCategory(),
-                                eventCategoryTO.getSubcategory(),
-                                item.getModelObject(),
-                                AuditElements.Result.SUCCESS)),
-                        successGroup));
+                    new Model<>(AuditLoggerName.buildEvent(
+                        eventCategoryTO.getType(),
+                        eventCategoryTO.getCategory(),
+                        eventCategoryTO.getSubcategory(),
+                        item.getModelObject(),
+                        AuditElements.Result.SUCCESS)),
+                    successGroup));
             }
         };
         successGroup.add(successView);
@@ -162,20 +162,20 @@ public abstract class EventSelectionPanel extends Panel {
         failureSelector.setVisible(!events.isEmpty());
         add(failureSelector);
 
-        ListView<String> failureView = new ListView<String>("failureView", events) {
+        ListView<String> failureView = new ListView<>("failureView", events) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
             @Override
             protected void populateItem(final ListItem<String> item) {
                 item.add(new Check<>("failureCheck",
-                        new Model<>(AuditLoggerName.buildEvent(
-                                eventCategoryTO.getType(),
-                                eventCategoryTO.getCategory(),
-                                eventCategoryTO.getSubcategory(),
-                                item.getModelObject(),
-                                AuditElements.Result.FAILURE)),
-                        failureGroup));
+                    new Model<>(AuditLoggerName.buildEvent(
+                        eventCategoryTO.getType(),
+                        eventCategoryTO.getCategory(),
+                        eventCategoryTO.getSubcategory(),
+                        item.getModelObject(),
+                        AuditElements.Result.FAILURE)),
+                    failureGroup));
             }
         };
         failureGroup.add(failureView);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
index b9857ea..b3c4009 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
@@ -51,20 +51,20 @@ public class SelectedEventsPanel extends Panel {
         add(selectionContainer);
 
         ListMultipleChoice<String> selectedEvents =
-                new ListMultipleChoice<String>("selectedEvents", new ListModel<String>(), model) {
-
-            private static final long serialVersionUID = 1226677544225737338L;
-
-            @Override
-            protected void onComponentTag(final ComponentTag tag) {
-                super.onComponentTag(tag);
-                tag.remove("size");
-                tag.remove("multiple");
-                tag.put("size", 5);
-            }
-        };
+            new ListMultipleChoice<>("selectedEvents", new ListModel<>(), model) {
+
+                private static final long serialVersionUID = 1226677544225737338L;
+
+                @Override
+                protected void onComponentTag(final ComponentTag tag) {
+                    super.onComponentTag(tag);
+                    tag.remove("size");
+                    tag.remove("multiple");
+                    tag.put("size", 5);
+                }
+            };
         selectedEvents.setMaxRows(5);
-        selectedEvents.setChoiceRenderer(new IChoiceRenderer<String>() {
+        selectedEvents.setChoiceRenderer(new IChoiceRenderer<>() {
 
             private static final long serialVersionUID = -4288397951948436434L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index 5619d2f..4088e90 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -112,16 +112,16 @@ public class MailTemplateDirectoryPanel
     public ActionsPanel<MailTemplateTO> getActions(final IModel<MailTemplateTO> model) {
         final ActionsPanel<MailTemplateTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<MailTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
                 TemplateContent<MailTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
-                        MailTemplateFormat.HTML);
+                    MailTemplateFormat.HTML);
                 content.setContent(
-                        restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.HTML));
+                    restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.HTML));
 
                 utilityModal.header(new ResourceModel("mail.template.html", "HTML Content"));
                 utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
@@ -130,16 +130,16 @@ public class MailTemplateDirectoryPanel
             }
         }, ActionLink.ActionType.HTML, IdRepoEntitlement.MAIL_TEMPLATE_UPDATE);
 
-        panel.add(new ActionLink<MailTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final MailTemplateTO ignore) {
                 TemplateContent<MailTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
-                        MailTemplateFormat.TEXT);
+                    MailTemplateFormat.TEXT);
                 content.setContent(
-                        restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.TEXT));
+                    restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.TEXT));
 
                 utilityModal.header(new ResourceModel("mail.template.text", "TEXT Content"));
                 utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
@@ -148,7 +148,7 @@ public class MailTemplateDirectoryPanel
             }
         }, ActionLink.ActionType.TEXT, IdRepoEntitlement.MAIL_TEMPLATE_UPDATE);
 
-        panel.add(new ActionLink<MailTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -210,7 +210,7 @@ public class MailTemplateDirectoryPanel
 
         @Override
         public IModel<MailTemplateTO> model(final MailTemplateTO mailTemplateTO) {
-            return new IModel<MailTemplateTO>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = 774694801558497248L;
 
@@ -232,7 +232,7 @@ public class MailTemplateDirectoryPanel
                 final TemplateContent<MailTemplateFormat> content,
                 final PageReference pageRef) {
 
-            super(utilityModal, new PropertyModel<String>(content, "content"), false, pageRef);
+            super(utilityModal, new PropertyModel<>(content, "content"), false, pageRef);
             this.content = content;
         }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
index 29901f0..2e10c15 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
@@ -101,34 +101,34 @@ public class NotificationDirectoryPanel
     public ActionsPanel<NotificationTO> getActions(final IModel<NotificationTO> model) {
         final ActionsPanel<NotificationTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<NotificationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
                 send(NotificationDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                new NotificationWrapper(
-                                        NotificationRestClient.read(model.getObject().getKey())), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        new NotificationWrapper(
+                            NotificationRestClient.read(model.getObject().getKey())), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.NOTIFICATION_UPDATE);
 
-        panel.add(new ActionLink<NotificationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final NotificationTO ignore) {
                 target.add(utilityModal.setContent(
-                        new NotificationTasks(model.getObject().getKey(), pageRef)));
+                    new NotificationTasks(model.getObject().getKey(), pageRef)));
                 utilityModal.header(new StringResourceModel("notification.tasks", model));
                 utilityModal.show(true);
                 target.add(utilityModal);
             }
         }, ActionLink.ActionType.NOTIFICATION_TASKS, IdRepoEntitlement.TASK_LIST);
 
-        panel.add(new ActionLink<NotificationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -191,7 +191,7 @@ public class NotificationDirectoryPanel
 
         @Override
         public IModel<NotificationTO> model(final NotificationTO notification) {
-            return new IModel<NotificationTO>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = 774694801558497248L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
index acca0ac..98a2762 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
@@ -166,7 +166,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
             add(new EventCategoryPanel(
                     "eventSelection",
                     AuditRestClient.listEvents(),
-                    new PropertyModel<List<String>>(modelObject.getInnerObject(), "events")) {
+                new PropertyModel<>(modelObject.getInnerObject(), "events")) {
 
                 private static final long serialVersionUID = 6429053774964787735L;
 
@@ -192,7 +192,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
             setOutputMarkupId(true);
 
             AjaxDropDownChoicePanel<String> type =
-                    new AjaxDropDownChoicePanel<>("about", "anyType", new Model<String>() {
+                    new AjaxDropDownChoicePanel<>("about", "anyType", new Model<>() {
 
                         private static final long serialVersionUID = -2350296434572623272L;
 
@@ -211,7 +211,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
             type.addRequiredLabel();
             add(type);
 
-            ListModel<SearchClause> clauseModel = new ListModel<SearchClause>() {
+            ListModel<SearchClause> clauseModel = new ListModel<>() {
 
                 private static final long serialVersionUID = 3769540249683319782L;
 
@@ -280,7 +280,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
 
             IModel<List<Pair<String, List<SearchClause>>>> model = new PropertyModel<>(modelObject, "aboutClauses");
 
-            aboutContainer.add(new MultiPanel<Pair<String, List<SearchClause>>>("abouts", "abouts", model) {
+            aboutContainer.add(new MultiPanel<>("abouts", "abouts", model) {
 
                 private static final long serialVersionUID = -2481579077338205547L;
 
@@ -292,7 +292,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
                 @Override
                 protected About getItemPanel(final ListItem<Pair<String, List<SearchClause>>> item) {
 
-                    return new About("panel", new Model<Pair<String, List<SearchClause>>>() {
+                    return new About("panel", new Model<>() {
 
                         private static final long serialVersionUID = 6799404673615637845L;
 
@@ -325,14 +325,14 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
 
         private static final long serialVersionUID = -7709805590497687958L;
 
-        private final IModel<List<String>> recipientProviders = new LoadableDetachableModel<List<String>>() {
+        private final IModel<List<String>> recipientProviders = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157447L;
 
             @Override
             protected List<String> load() {
                 return ImplementationRestClient.list(IdRepoImplementationType.RECIPIENTS_PROVIDER).stream().
-                        map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
             }
         };
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
index 0dfdd98..4915075 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
@@ -114,7 +114,7 @@ public class BasePage extends BaseWebPage {
         body.add(new Label("os", systemInfo.getOs()));
         body.add(new Label("jvm", systemInfo.getJvm()));
 
-        Link<Void> dbExportLink = new Link<Void>("dbExportLink") {
+        Link<Void> dbExportLink = new Link<>("dbExportLink") {
 
             private static final long serialVersionUID = -4331619903296515985L;
 
@@ -122,12 +122,12 @@ public class BasePage extends BaseWebPage {
             public void onClick() {
                 try {
                     HttpResourceStream stream = new HttpResourceStream(
-                            new ResponseHolder(SyncopeRestClient.exportInternalStorageContent()));
+                        new ResponseHolder(SyncopeRestClient.exportInternalStorageContent()));
 
                     ResourceStreamRequestHandler rsrh = new ResourceStreamRequestHandler(stream);
                     rsrh.setFileName(stream.getFilename() == null
-                            ? SyncopeConsoleSession.get().getDomain() + "Content.xml"
-                            : stream.getFilename());
+                        ? SyncopeConsoleSession.get().getDomain() + "Content.xml"
+                        : stream.getFilename());
                     rsrh.setContentDisposition(ContentDisposition.ATTACHMENT);
                     rsrh.setCacheDuration(Duration.ZERO);
 
@@ -160,8 +160,8 @@ public class BasePage extends BaseWebPage {
         liContainer.add(link);
 
         List<Class<? extends BasePage>> idmPageClasses = SyncopeWebApplication.get().getLookup().getIdMPageClasses();
-        ListView<Class<? extends BasePage>> idmPages = new ListView<Class<? extends BasePage>>(
-                "idmPages", idmPageClasses) {
+        ListView<Class<? extends BasePage>> idmPages = new ListView<>(
+            "idmPages", idmPageClasses) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
@@ -200,8 +200,8 @@ public class BasePage extends BaseWebPage {
         body.add(idmPages);
 
         List<Class<? extends BasePage>> amPageClasses = SyncopeWebApplication.get().getLookup().getAMPageClasses();
-        ListView<Class<? extends BasePage>> amPages = new ListView<Class<? extends BasePage>>(
-                "amPages", amPageClasses) {
+        ListView<Class<? extends BasePage>> amPages = new ListView<>(
+            "amPages", amPageClasses) {
 
             private static final long serialVersionUID = -9112553137618363167L;
 
@@ -335,7 +335,7 @@ public class BasePage extends BaseWebPage {
         body.add(delegationsContainer.setOutputMarkupPlaceholderTag(true).
                 setVisible(!SyncopeConsoleSession.get().getDelegations().isEmpty()));
         delegationsContainer.add(new Label("delegationsHeader", new ResourceModel("delegations")));
-        delegationsContainer.add(new ListView<String>("delegations", SyncopeConsoleSession.get().getDelegations()) {
+        delegationsContainer.add(new ListView<>("delegations", SyncopeConsoleSession.get().getDelegations()) {
 
             @Override
             protected void populateItem(final ListItem<String> item) {
@@ -466,8 +466,8 @@ public class BasePage extends BaseWebPage {
         // Extensions
         List<Class<? extends ExtAlertWidget<?>>> extAlertWidgetClasses =
                 SyncopeWebApplication.get().getLookup().getExtAlertWidgetClasses();
-        ListView<Class<? extends ExtAlertWidget<?>>> extAlertWidgets = new ListView<Class<? extends ExtAlertWidget<?>>>(
-                "extAlertWidgets", extAlertWidgetClasses) {
+        ListView<Class<? extends ExtAlertWidget<?>>> extAlertWidgets = new ListView<>(
+            "extAlertWidgets", extAlertWidgetClasses) {
 
             private static final long serialVersionUID = -9112553137618363167L;
 
@@ -475,7 +475,7 @@ public class BasePage extends BaseWebPage {
             protected void populateItem(final ListItem<Class<? extends ExtAlertWidget<?>>> item) {
                 try {
                     Constructor<? extends ExtAlertWidget<?>> constructor =
-                            item.getModelObject().getDeclaredConstructor(String.class, PageReference.class);
+                        item.getModelObject().getDeclaredConstructor(String.class, PageReference.class);
                     ExtAlertWidget<?> widget = constructor.newInstance("extAlertWidget", getPageReference());
 
                     SyncopeConsoleSession.get().setAttribute(widget.getClass().getName(), widget);
@@ -497,46 +497,46 @@ public class BasePage extends BaseWebPage {
         body.add(extensionsLI);
 
         ListView<Class<? extends BaseExtPage>> extPages =
-                new ListView<Class<? extends BaseExtPage>>("extPages", extPageClasses) {
+            new ListView<>("extPages", extPageClasses) {
 
-            private static final long serialVersionUID = 4949588177564901031L;
+                private static final long serialVersionUID = 4949588177564901031L;
 
-            @Override
-            protected void populateItem(final ListItem<Class<? extends BaseExtPage>> item) {
-                WebMarkupContainer containingLI = new WebMarkupContainer("extPageLI");
-                item.add(containingLI);
+                @Override
+                protected void populateItem(final ListItem<Class<? extends BaseExtPage>> item) {
+                    WebMarkupContainer containingLI = new WebMarkupContainer("extPageLI");
+                    item.add(containingLI);
 
-                ExtPage ann = item.getModelObject().getAnnotation(ExtPage.class);
+                    ExtPage ann = item.getModelObject().getAnnotation(ExtPage.class);
 
-                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("extPage", item.getModelObject());
-                link.add(new Label("extPageLabel", ann.label()));
-                if (StringUtils.isNotBlank(ann.listEntitlement())) {
-                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
-                }
-                if (item.getModelObject().equals(BasePage.this.getClass())) {
-                    link.add(new Behavior() {
+                    BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("extPage", item.getModelObject());
+                    link.add(new Label("extPageLabel", ann.label()));
+                    if (StringUtils.isNotBlank(ann.listEntitlement())) {
+                        MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
+                    }
+                    if (item.getModelObject().equals(BasePage.this.getClass())) {
+                        link.add(new Behavior() {
 
-                        private static final long serialVersionUID = 1469628524240283489L;
+                            private static final long serialVersionUID = 1469628524240283489L;
 
-                        @Override
-                        public void renderHead(final Component component, final IHeaderResponse response) {
-                            response.render(OnDomReadyHeaderItem.forScript(
+                            @Override
+                            public void renderHead(final Component component, final IHeaderResponse response) {
+                                response.render(OnDomReadyHeaderItem.forScript(
                                     "$('#extensionsLink').addClass('active')"));
-                        }
+                            }
 
-                        @Override
-                        public void onComponentTag(final Component component, final ComponentTag tag) {
-                            tag.append("class", "active", " ");
-                        }
-                    });
-                }
-                containingLI.add(link);
+                            @Override
+                            public void onComponentTag(final Component component, final ComponentTag tag) {
+                                tag.append("class", "active", " ");
+                            }
+                        });
+                    }
+                    containingLI.add(link);
 
-                Label extPageIcon = new Label("extPageIcon");
-                extPageIcon.add(new AttributeModifier("class", "nav-icon " + ann.icon()));
-                link.add(extPageIcon);
-            }
-        };
+                    Label extPageIcon = new Label("extPageIcon");
+                    extPageIcon.add(new AttributeModifier("class", "nav-icon " + ann.icon()));
+                    link.add(extPageIcon);
+                }
+            };
         extPages.setRenderBodyOnly(true);
         extPages.setOutputMarkupId(true);
         extensionsLI.add(extPages);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
index 84a2910..1f2b18b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
@@ -96,7 +96,7 @@ public class Realms extends BasePage {
 
         content.add(templates);
 
-        templateModal = new BaseModal<Serializable>("templateModal") {
+        templateModal = new BaseModal<>("templateModal") {
 
             private static final long serialVersionUID = 5787433530654262016L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
index 16e2ef7..e235ccc 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AccessTokenDirectoryPanel.java
@@ -89,20 +89,20 @@ public class AccessTokenDirectoryPanel
 
         columns.add(new PropertyColumn<>(new ResourceModel("owner"), "owner", "owner"));
 
-        columns.add(new AbstractColumn<AccessTokenTO, String>(new ResourceModel("issuedAt", "")) {
+        columns.add(new AbstractColumn<>(new ResourceModel("issuedAt", "")) {
 
             private static final long serialVersionUID = -1822504503325964706L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<AccessTokenTO>> cellItem,
-                    final String componentId,
-                    final IModel<AccessTokenTO> model) {
+                final Item<ICellPopulator<AccessTokenTO>> cellItem,
+                final String componentId,
+                final IModel<AccessTokenTO> model) {
 
                 try {
                     SignedJWT jwt = SignedJWT.parse(model.getObject().getBody());
                     cellItem.add(new Label(componentId,
-                            SyncopeConsoleSession.get().getDateFormat().format(jwt.getJWTClaimsSet().getIssueTime())));
+                        SyncopeConsoleSession.get().getDateFormat().format(jwt.getJWTClaimsSet().getIssueTime())));
                 } catch (ParseException e) {
                     LOG.error("Could not parse JWT {}", model.getObject().getBody(), e);
                     cellItem.add(new Label(componentId, StringUtils.EMPTY));
@@ -119,7 +119,7 @@ public class AccessTokenDirectoryPanel
     public ActionsPanel<AccessTokenTO> getActions(final IModel<AccessTokenTO> model) {
         final ActionsPanel<AccessTokenTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AccessTokenTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
index 03fc8bf..65de0f2 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ActionDataTablePanel.java
@@ -60,7 +60,7 @@ public class ActionDataTablePanel<T extends Serializable, S> extends DataTablePa
         batchForm = new Form<>("groupForm");
         add(batchForm);
 
-        group = new ActionTableCheckGroup<T>("checkgroup", model) {
+        group = new ActionTableCheckGroup<>("checkgroup", model) {
 
             private static final long serialVersionUID = -8667764190925075389L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
index 55184d8..96faad2 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
@@ -212,8 +212,8 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
             builder.columns.add(0, new CheckGroupColumn<>(group));
         }
 
-        dataTable = new AjaxFallbackDataTable<T, S>(
-                "dataTable", builder.columns, builder.dataProvider, builder.rowsPerPage, builder.container) {
+        dataTable = new AjaxFallbackDataTable<>(
+            "dataTable", builder.columns, builder.dataProvider, builder.rowsPerPage, builder.container) {
 
             private static final long serialVersionUID = -7370603907251344224L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index c20b256..48d70ba 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -142,11 +142,11 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe
                 prefcolumns));
 
         PreferenceManager.getList(DisplayAttributesModalPanel.getPrefPlainAttributeView(type)).stream().
-                filter(name -> pSchemaNames.contains(name)).
+                filter(pSchemaNames::contains).
                 forEach(name -> prefcolumns.add(new AttrColumn<>(name, SchemaType.PLAIN)));
 
         PreferenceManager.getList(DisplayAttributesModalPanel.getPrefDerivedAttributeView(type)).stream().
-                filter(name -> (dSchemaNames.contains(name))).
+                filter(dSchemaNames::contains).
                 forEach(name -> prefcolumns.add(new AttrColumn<>(name, SchemaType.DERIVED)));
 
         // Add defaults in case of no selection
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
index 7f694c4..e022061 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java
@@ -77,14 +77,14 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
     public ActionsPanel<Serializable> getHeader(final String componentId) {
         final ActionsPanel<Serializable> panel = super.getHeader(componentId);
 
-        panel.add(new ActionLink<Serializable>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
                 target.add(displayAttributeModal.setContent(new AnyObjectDisplayAttributesModalPanel<>(
-                        displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames, type)));
+                    displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames, type)));
                 displayAttributeModal.addSubmitButton();
                 displayAttributeModal.header(new ResourceModel("any.attr.display"));
                 displayAttributeModal.show(true);
@@ -102,18 +102,18 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
     public ActionsPanel<AnyObjectTO> getActions(final IModel<AnyObjectTO> model) {
         final ActionsPanel<AnyObjectTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AnyObjectTO>() {
+        panel.add(new ActionLink<>() {
 
-            private static final long serialVersionUID = -7978723352517770644L;
+                      private static final long serialVersionUID = -7978723352517770644L;
 
-            @Override
-            public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
-                send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())),
-                                target));
-            }
-        }, ActionType.EDIT,
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+                          send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
+                              new AjaxWizard.EditItemActionEvent<>(
+                                  new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())),
+                                  target));
+                      }
+                  }, ActionType.EDIT,
                 String.format("%s,%s", AnyEntitlement.READ.getFor(type), AnyEntitlement.UPDATE.getFor(type))).
                 setRealms(realm, model.getObject().getDynRealms());
 
@@ -127,81 +127,81 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
                     this,
                     pageRef).forEach(panel::add);
 
-            panel.add(new ActionLink<AnyObjectTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
                     target.add(utilityModal.setContent(new AnyPropagationTasks(
-                            utilityModal, AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef)));
+                        utilityModal, AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef)));
 
                     utilityModal.header(new StringResourceModel("any.propagation.tasks", model));
                     utilityModal.show(true);
                 }
             }, ActionType.PROPAGATION_TASKS, IdRepoEntitlement.TASK_LIST);
 
-            panel.add(new ActionLink<AnyObjectTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
                     target.add(utilityModal.setContent(
-                            new NotificationTasks(AnyTypeKind.ANY_OBJECT, model.getObject().getKey(),
-                                    pageRef)));
+                        new NotificationTasks(AnyTypeKind.ANY_OBJECT, model.getObject().getKey(),
+                            pageRef)));
                     utilityModal.header(new StringResourceModel("any.notification.tasks", model));
                     utilityModal.show(true);
                     target.add(utilityModal);
                 }
             }, ActionType.NOTIFICATION_TASKS, IdRepoEntitlement.TASK_LIST);
         }
-        panel.add(new ActionLink<AnyObjectTO>() {
-
-            private static final long serialVersionUID = -2878723352517770644L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
-                model.setObject(restClient.read(model.getObject().getKey()));
-                target.add(altDefaultModal.setContent(new AuditHistoryModal<AnyObjectTO>(
-                        altDefaultModal,
-                        AuditElements.EventCategoryType.LOGIC,
-                        "AnyObjectLogic",
-                        model.getObject(),
-                        AnyEntitlement.UPDATE.getFor(type),
-                        pageRef) {
-
-                    private static final long serialVersionUID = -7440902560249531201L;
-
-                    @Override
-                    protected void restore(final String json, final AjaxRequestTarget target) {
-                        AnyObjectTO original = model.getObject();
-                        try {
-                            AnyObjectTO updated = MAPPER.readValue(json, AnyObjectTO.class);
-                            AnyObjectUR updateReq = AnyOperations.diff(updated, original, false);
-                            ProvisioningResult<AnyObjectTO> result =
-                                    restClient.update(original.getETagValue(), updateReq);
-                            model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
-
-                            SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
-                            target.add(container);
-                        } catch (Exception e) {
-                            LOG.error("While restoring any object {}", model.getObject().getKey(), e);
-                            SyncopeConsoleSession.get().onException(e);
-                        }
-                        ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-                    }
-                }));
-
-                altDefaultModal.header(new StringResourceModel("auditHistory.title", model));
-
-                altDefaultModal.show(true);
-            }
-        }, ActionType.VIEW_AUDIT_HISTORY,
+        panel.add(new ActionLink<>() {
+
+                      private static final long serialVersionUID = -2878723352517770644L;
+
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
+                          model.setObject(restClient.read(model.getObject().getKey()));
+                          target.add(altDefaultModal.setContent(new AuditHistoryModal<>(
+                              altDefaultModal,
+                              AuditElements.EventCategoryType.LOGIC,
+                              "AnyObjectLogic",
+                              model.getObject(),
+                              AnyEntitlement.UPDATE.getFor(type),
+                              pageRef) {
+
+                              private static final long serialVersionUID = -7440902560249531201L;
+
+                              @Override
+                              protected void restore(final String json, final AjaxRequestTarget target) {
+                                  AnyObjectTO original = model.getObject();
+                                  try {
+                                      AnyObjectTO updated = MAPPER.readValue(json, AnyObjectTO.class);
+                                      AnyObjectUR updateReq = AnyOperations.diff(updated, original, false);
+                                      ProvisioningResult<AnyObjectTO> result =
+                                          restClient.update(original.getETagValue(), updateReq);
+                                      model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
+
+                                      SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
+                                      target.add(container);
+                                  } catch (Exception e) {
+                                      LOG.error("While restoring any object {}", model.getObject().getKey(), e);
+                                      SyncopeConsoleSession.get().onException(e);
+                                  }
+                                  ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                              }
+                          }));
+
+                          altDefaultModal.header(new StringResourceModel("auditHistory.title", model));
+
+                          altDefaultModal.show(true);
+                      }
+                  }, ActionType.VIEW_AUDIT_HISTORY,
                 String.format("%s,%s", AnyEntitlement.READ.getFor(type), IdRepoEntitlement.AUDIT_LIST)).
                 setRealms(realm, model.getObject().getDynRealms());
 
-        panel.add(new ActionLink<AnyObjectTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
@@ -210,7 +210,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
                 final AnyObjectTO clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(AnyObjectDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target));
+                    new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target));
             }
 
             @Override
@@ -219,7 +219,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
             }
         }, ActionType.CLONE, AnyEntitlement.CREATE.getFor(type)).setRealm(realm);
 
-        panel.add(new ActionLink<AnyObjectTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770646L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
index eedcb56..fcc1700 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java
@@ -131,8 +131,8 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<
                     columns.add(new BooleanPropertyColumn<>(
                             new ResourceModel(field.getName()), field.getName(), field.getName()));
                 } else {
-                    columns.add(new PropertyColumn<AnyTypeClassTO, String>(
-                            new ResourceModel(field.getName()), field.getName(), field.getName()) {
+                    columns.add(new PropertyColumn<>(
+                        new ResourceModel(field.getName()), field.getName(), field.getName()) {
 
                         private static final long serialVersionUID = -6902459669035442212L;
 
@@ -141,8 +141,8 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<
                             String css = super.getCssClass();
                             if (Constants.KEY_FIELD_NAME.equals(fieldName)) {
                                 css = StringUtils.isBlank(css)
-                                        ? "col-xs-1"
-                                        : css + " col-xs-1";
+                                    ? "col-xs-1"
+                                    : css + " col-xs-1";
                             }
                             return css;
                         }
@@ -158,18 +158,18 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<
     public ActionsPanel<AnyTypeClassTO> getActions(final IModel<AnyTypeClassTO> model) {
         final ActionsPanel<AnyTypeClassTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AnyTypeClassTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final AnyTypeClassTO ignore) {
                 send(AnyTypeClassesPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.ANYTYPECLASS_UPDATE);
 
-        panel.add(new ActionLink<AnyTypeClassTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
index 7f7e697..4f5db2f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java
@@ -130,8 +130,8 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypesPanel.
                     columns.add(new BooleanPropertyColumn<>(
                             new ResourceModel(field.getName()), field.getName(), field.getName()));
                 } else {
-                    columns.add(new PropertyColumn<AnyTypeTO, String>(
-                            new ResourceModel(field.getName()), field.getName(), field.getName()) {
+                    columns.add(new PropertyColumn<>(
+                        new ResourceModel(field.getName()), field.getName(), field.getName()) {
 
                         private static final long serialVersionUID = -6902459669035442212L;
 
@@ -140,8 +140,8 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypesPanel.
                             String css = super.getCssClass();
                             if (Constants.KEY_FIELD_NAME.equals(fieldName)) {
                                 css = StringUtils.isBlank(css)
-                                        ? "col-xs-1"
-                                        : css + " col-xs-1";
+                                    ? "col-xs-1"
+                                    : css + " col-xs-1";
                             }
                             return css;
                         }
@@ -157,17 +157,17 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypesPanel.
     public ActionsPanel<AnyTypeTO> getActions(final IModel<AnyTypeTO> model) {
         final ActionsPanel<AnyTypeTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<AnyTypeTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final AnyTypeTO ignore) {
                 send(AnyTypesPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.ANYTYPE_UPDATE);
-        panel.add(new ActionLink<AnyTypeTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
index 01ae391..10be40f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
@@ -63,7 +63,7 @@ public class ApplicationDirectoryPanel extends
 
     private static final long serialVersionUID = -5491515010207202168L;
 
-    protected final BaseModal<PrivilegeTO> privilegeModal = new BaseModal<PrivilegeTO>(Constants.OUTER) {
+    protected final BaseModal<PrivilegeTO> privilegeModal = new BaseModal<>(Constants.OUTER) {
 
         private static final long serialVersionUID = 389935548143327858L;
 
@@ -97,7 +97,7 @@ public class ApplicationDirectoryPanel extends
         });
         addOuterObject(privilegeModal);
 
-        AjaxLink<Void> newApplLink = new AjaxLink<Void>("add") {
+        AjaxLink<Void> newApplLink = new AjaxLink<>("add") {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -133,18 +133,18 @@ public class ApplicationDirectoryPanel extends
                 new ResourceModel(Constants.KEY_FIELD_NAME), Constants.KEY_FIELD_NAME, Constants.KEY_FIELD_NAME));
         columns.add(new PropertyColumn<>(new ResourceModel(Constants.DESCRIPTION_FIELD_NAME),
                 Constants.DESCRIPTION_FIELD_NAME, Constants.DESCRIPTION_FIELD_NAME));
-        columns.add(new AbstractColumn<ApplicationTO, String>(new ResourceModel("privileges")) {
+        columns.add(new AbstractColumn<>(new ResourceModel("privileges")) {
 
             private static final long serialVersionUID = 2054811145491901166L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<ApplicationTO>> item,
-                    final String componentId,
-                    final IModel<ApplicationTO> rowModel) {
+                final Item<ICellPopulator<ApplicationTO>> item,
+                final String componentId,
+                final IModel<ApplicationTO> rowModel) {
 
                 item.add(new Label(componentId, '[' + rowModel.getObject().getPrivileges().stream().
-                        map(EntityTO::getKey).collect(Collectors.joining(", ")) + ']'));
+                    map(EntityTO::getKey).collect(Collectors.joining(", ")) + ']'));
             }
         });
 
@@ -155,7 +155,7 @@ public class ApplicationDirectoryPanel extends
     public ActionsPanel<ApplicationTO> getActions(final IModel<ApplicationTO> model) {
         final ActionsPanel<ApplicationTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<ApplicationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -168,26 +168,26 @@ public class ApplicationDirectoryPanel extends
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.APPLICATION_UPDATE);
 
-        panel.add(new ActionLink<ApplicationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ApplicationTO ignore) {
                 target.add(privilegeModal.setContent(new PrivilegeDirectoryPanel(
-                        privilegeModal, model.getObject(), pageRef)));
+                    privilegeModal, model.getObject(), pageRef)));
 
                 privilegeModal.header(new StringResourceModel(
-                        "application.privileges", ApplicationDirectoryPanel.this, Model.of(model.getObject())));
+                    "application.privileges", ApplicationDirectoryPanel.this, Model.of(model.getObject())));
 
                 MetaDataRoleAuthorizationStrategy.authorize(
-                        privilegeModal.getForm(), ENABLE, IdRepoEntitlement.APPLICATION_UPDATE);
+                    privilegeModal.getForm(), ENABLE, IdRepoEntitlement.APPLICATION_UPDATE);
 
                 privilegeModal.show(true);
             }
         }, ActionLink.ActionType.COMPOSE, IdRepoEntitlement.APPLICATION_UPDATE);
 
-        panel.add(new ActionLink<ApplicationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 3766262567901552032L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AttrListDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AttrListDirectoryPanel.java
index dfe285d..2092af6 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AttrListDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AttrListDirectoryPanel.java
@@ -64,19 +64,19 @@ public abstract class AttrListDirectoryPanel
     protected List<IColumn<Attr, String>> getColumns() {
         final List<IColumn<Attr, String>> columns = new ArrayList<>();
         columns.add(new PropertyColumn<>(new ResourceModel("schema"), "schema"));
-        columns.add(new PropertyColumn<Attr, String>(new ResourceModel("values"), "values") {
+        columns.add(new PropertyColumn<>(new ResourceModel("values"), "values") {
 
             private static final long serialVersionUID = -1822504503325964706L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<Attr>> item,
-                    final String componentId,
-                    final IModel<Attr> rowModel) {
+                final Item<ICellPopulator<Attr>> item,
+                final String componentId,
+                final IModel<Attr> rowModel) {
 
                 if (rowModel.getObject().getValues().toString().length() > 96) {
                     item.add(new Label(componentId, getString("tooLong")).
-                            add(new AttributeModifier("style", "font-style:italic")));
+                        add(new AttributeModifier("style", "font-style:italic")));
                 } else {
                     super.populateItem(item, componentId, rowModel);
                 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
index 508f965..9a8f70c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/BeanPanel.java
@@ -96,7 +96,7 @@ public class BeanPanel<T extends Serializable> extends Panel {
         this.excluded.add("serialVersionUID");
         this.excluded.add("class");
 
-        LoadableDetachableModel<List<String>> model = new LoadableDetachableModel<List<String>>() {
+        LoadableDetachableModel<List<String>> model = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -106,19 +106,19 @@ public class BeanPanel<T extends Serializable> extends Panel {
 
                 if (BeanPanel.this.getDefaultModelObject() != null) {
                     ReflectionUtils.doWithFields(BeanPanel.this.getDefaultModelObject().getClass(),
-                            field -> result.add(field.getName()),
-                            field -> !field.isSynthetic() && !BeanPanel.this.excluded.contains(field.getName()));
+                        field -> result.add(field.getName()),
+                        field -> !field.isSynthetic() && !BeanPanel.this.excluded.contains(field.getName()));
                 }
 
                 return result;
             }
         };
 
-        add(new ListView<String>("propView", model) {
+        add(new ListView<>("propView", model) {
 
             private static final long serialVersionUID = 9101744072914090143L;
 
-            @SuppressWarnings({ "unchecked", "rawtypes" })
+            @SuppressWarnings({"unchecked", "rawtypes"})
             @Override
             protected void populateItem(final ListItem<String> item) {
                 String fieldName = item.getModelObject();
@@ -146,20 +146,20 @@ public class BeanPanel<T extends Serializable> extends Panel {
                     switch (scondAnnot.type()) {
                         case "USER":
                             panel = new UserSearchPanel.Builder(
-                                    new ListModel<>(clauses)).required(false).build("value");
+                                new ListModel<>(clauses)).required(false).build("value");
                             builder = SyncopeClient.getUserSearchConditionBuilder();
                             break;
 
                         case "GROUP":
                             panel = new GroupSearchPanel.Builder(
-                                    new ListModel<>(clauses)).required(false).build("value");
+                                new ListModel<>(clauses)).required(false).build("value");
                             builder = SyncopeClient.getGroupSearchConditionBuilder();
                             break;
 
                         default:
                             panel = new AnyObjectSearchPanel.Builder(
-                                    scondAnnot.type(),
-                                    new ListModel<>(clauses)).required(false).build("value");
+                                scondAnnot.type(),
+                                new ListModel<>(clauses)).required(false).build("value");
                             builder = SyncopeClient.getAnyObjectSearchConditionBuilder(null);
                     }
 
@@ -170,7 +170,7 @@ public class BeanPanel<T extends Serializable> extends Panel {
                     Class<?> listItemType = String.class;
                     if (field.getGenericType() instanceof ParameterizedType) {
                         listItemType = (Class<?>) ((ParameterizedType) field.getGenericType()).
-                                getActualTypeArguments()[0];
+                            getActualTypeArguments()[0];
                     }
 
                     if (listItemType.equals(String.class) && schemaAnnot != null) {
@@ -180,17 +180,17 @@ public class BeanPanel<T extends Serializable> extends Panel {
                             switch (type) {
                                 case PLAIN:
                                     choices.addAll(
-                                            SchemaRestClient.getSchemas(SchemaType.PLAIN, schemaAnnot.anyTypeKind()));
+                                        SchemaRestClient.getSchemas(SchemaType.PLAIN, schemaAnnot.anyTypeKind()));
                                     break;
 
                                 case DERIVED:
                                     choices.addAll(
-                                            SchemaRestClient.getSchemas(SchemaType.DERIVED, schemaAnnot.anyTypeKind()));
+                                        SchemaRestClient.getSchemas(SchemaType.DERIVED, schemaAnnot.anyTypeKind()));
                                     break;
 
                                 case VIRTUAL:
                                     choices.addAll(
-                                            SchemaRestClient.getSchemas(SchemaType.VIRTUAL, schemaAnnot.anyTypeKind()));
+                                        SchemaRestClient.getSchemas(SchemaType.VIRTUAL, schemaAnnot.anyTypeKind()));
                                     break;
 
                                 default:
@@ -198,25 +198,25 @@ public class BeanPanel<T extends Serializable> extends Panel {
                         }
 
                         panel = new AjaxPalettePanel.Builder<>().setName(fieldName).build(
-                                "value",
-                                new PropertyModel<>(bean.getObject(), fieldName),
-                                new ListModel<>(choices.stream().map(EntityTO::getKey).collect(Collectors.toList()))).
-                                hideLabel();
+                            "value",
+                            new PropertyModel<>(bean.getObject(), fieldName),
+                            new ListModel<>(choices.stream().map(EntityTO::getKey).collect(Collectors.toList()))).
+                            hideLabel();
                     } else if (listItemType.isEnum()) {
                         panel = new AjaxPalettePanel.Builder<>().setName(fieldName).build(
-                                "value",
-                                new PropertyModel<>(bean.getObject(), fieldName),
-                                new ListModel(List.of(listItemType.getEnumConstants()))).hideLabel();
+                            "value",
+                            new PropertyModel<>(bean.getObject(), fieldName),
+                            new ListModel(List.of(listItemType.getEnumConstants()))).hideLabel();
                     } else {
                         panel = new MultiFieldPanel.Builder<>(
-                                new PropertyModel<>(bean.getObject(), fieldName)).build(
-                                "value",
-                                fieldName,
-                                buildSinglePanel(bean.getObject(), listItemType, fieldName, "panel")).hideLabel();
+                            new PropertyModel<>(bean.getObject(), fieldName)).build(
+                            "value",
+                            fieldName,
+                            buildSinglePanel(bean.getObject(), listItemType, fieldName, "panel")).hideLabel();
                     }
                 } else if (Map.class.equals(field.getType())) {
                     panel = new AjaxGridFieldPanel(
-                            "value", fieldName, new PropertyModel<>(bean, fieldName)).hideLabel();
+                        "value", fieldName, new PropertyModel<>(bean, fieldName)).hideLabel();
                 } else {
                     panel = buildSinglePanel(bean.getObject(), field.getType(), fieldName, "value").hideLabel();
                 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardExtensionsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardExtensionsPanel.java
index c0b0e1d..c384377 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardExtensionsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardExtensionsPanel.java
@@ -60,7 +60,7 @@ public class DashboardExtensionsPanel extends Panel {
             }
         });
 
-        ListView<BaseExtWidget> widgets = new ListView<BaseExtWidget>("widgets", instances) {
+        ListView<BaseExtWidget> widgets = new ListView<>("widgets", instances) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java
index beecb80..109803c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DataTablePanel.java
@@ -44,7 +44,7 @@ public abstract class DataTablePanel<T extends Serializable, S> extends Panel {
     public DataTablePanel(final String id) {
         super(id);
 
-        model = new IModel<Collection<T>>() {
+        model = new IModel<>() {
 
             private static final long serialVersionUID = 4886729136344643465L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationDirectoryPanel.java
index fea07cf..7297e44 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationDirectoryPanel.java
@@ -95,13 +95,13 @@ public class DelegationDirectoryPanel extends
         columns.add(new KeyPropertyColumn<>(
                 new ResourceModel(Constants.KEY_FIELD_NAME), Constants.KEY_FIELD_NAME, Constants.KEY_FIELD_NAME));
 
-        columns.add(new AbstractColumn<DelegationTO, String>(new ResourceModel("delegating"), "delegating") {
+        columns.add(new AbstractColumn<>(new ResourceModel("delegating"), "delegating") {
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<DelegationTO>> cellItem,
-                    final String componentId,
-                    final IModel<DelegationTO> rowModel) {
+                final Item<ICellPopulator<DelegationTO>> cellItem,
+                final String componentId,
+                final IModel<DelegationTO> rowModel) {
 
                 String delegating = rowModel.getObject().getDelegating();
                 if (SyncopeConsoleSession.get().owns(IdRepoEntitlement.USER_READ)) {
@@ -114,13 +114,13 @@ public class DelegationDirectoryPanel extends
             }
         });
 
-        columns.add(new AbstractColumn<DelegationTO, String>(new ResourceModel("delegated"), "delegated") {
+        columns.add(new AbstractColumn<>(new ResourceModel("delegated"), "delegated") {
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<DelegationTO>> cellItem,
-                    final String componentId,
-                    final IModel<DelegationTO> rowModel) {
+                final Item<ICellPopulator<DelegationTO>> cellItem,
+                final String componentId,
+                final IModel<DelegationTO> rowModel) {
 
                 String delegated = rowModel.getObject().getDelegated();
                 if (SyncopeConsoleSession.get().owns(IdRepoEntitlement.USER_READ)) {
@@ -146,17 +146,17 @@ public class DelegationDirectoryPanel extends
     public ActionsPanel<DelegationTO> getActions(final IModel<DelegationTO> model) {
         ActionsPanel<DelegationTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<DelegationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final DelegationTO ignore) {
                 send(DelegationDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, StringUtils.EMPTY);
-        panel.add(new ActionLink<DelegationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationSelectionPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationSelectionPanel.java
index 680d8fe..4d89c84 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationSelectionPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DelegationSelectionPanel.java
@@ -34,22 +34,22 @@ public class DelegationSelectionPanel extends Panel {
         super(id);
 
         IndicatingOnConfirmAjaxLink<String> link =
-                new IndicatingOnConfirmAjaxLink<String>("link", "confirmDelegation", true) {
+            new IndicatingOnConfirmAjaxLink<>("link", "confirmDelegation", true) {
 
-            @Override
-            public void onClick(final AjaxRequestTarget target) {
-                SyncopeConsoleSession.get().setDelegatedBy(delegating);
-                setResponsePage(Dashboard.class);
-            }
+                @Override
+                public void onClick(final AjaxRequestTarget target) {
+                    SyncopeConsoleSession.get().setDelegatedBy(delegating);
+                    setResponsePage(Dashboard.class);
+                }
 
-            @Override
-            protected void onComponentTag(final ComponentTag tag) {
-                super.onComponentTag(tag);
-                if (delegating.equals(SyncopeConsoleSession.get().getDelegatedBy())) {
-                    tag.append("class", "disabled", " ");
+                @Override
+                protected void onComponentTag(final ComponentTag tag) {
+                    super.onComponentTag(tag);
+                    if (delegating.equals(SyncopeConsoleSession.get().getDelegatedBy())) {
+                        tag.append("class", "disabled", " ");
+                    }
                 }
-            }
-        };
+            };
         add(link);
         link.setOutputMarkupId(true);
         link.add(new Label("label", delegating));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
index fae6887..85f0a51 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
@@ -241,7 +241,7 @@ public abstract class DirectoryPanel<
     protected ActionsPanel<Serializable> getHeader(final String componentId) {
         final ActionsPanel<Serializable> panel = new ActionsPanel<>(componentId, null);
 
-        panel.add(new ActionLink<Serializable>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -277,8 +277,8 @@ public abstract class DirectoryPanel<
                 .map(table -> (create ? (int) table.getPageCount() - 1 : (int) table.getCurrentPage())).orElse(0);
 
         // take care of restClient handle: maybe not useful to keep into
-        AjaxDataTablePanel.Builder<T, String> resultTableBuilder = new AjaxDataTablePanel.Builder<T, String>(
-                dataProvider, page.getPageReference()) {
+        AjaxDataTablePanel.Builder<T, String> resultTableBuilder = new AjaxDataTablePanel.Builder<>(
+            dataProvider, page.getPageReference()) {
 
             private static final long serialVersionUID = 2205322679547329123L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
index 2f09e35..d682061 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.java
@@ -82,7 +82,7 @@ public abstract class DisplayAttributesModalPanel<T extends Serializable> extend
         Collections.sort(pSchemaNames);
         Collections.sort(dSchemaNames);
 
-        final IModel<List<String>> fnames = new LoadableDetachableModel<List<String>>() {
+        final IModel<List<String>> fnames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -92,7 +92,7 @@ public abstract class DisplayAttributesModalPanel<T extends Serializable> extend
             }
         };
 
-        final IModel<List<String>> psnames = new LoadableDetachableModel<List<String>>() {
+        final IModel<List<String>> psnames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -102,7 +102,7 @@ public abstract class DisplayAttributesModalPanel<T extends Serializable> extend
             }
         };
 
-        final IModel<List<String>> dsnames = new LoadableDetachableModel<List<String>>() {
+        final IModel<List<String>> dsnames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainDirectoryPanel.java
index 85a2f10..69ccf4b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DomainDirectoryPanel.java
@@ -101,7 +101,7 @@ public class DomainDirectoryPanel extends DirectoryPanel<Domain, Domain, DomainP
     protected ActionsPanel<Domain> getActions(final IModel<Domain> model) {
         ActionsPanel<Domain> panel = super.getActions(model);
 
-        panel.add(new ActionLink<Domain>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 7610801302168867641L;
 
@@ -114,7 +114,7 @@ public class DomainDirectoryPanel extends DirectoryPanel<Domain, Domain, DomainP
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.KEYMASTER);
 
-        panel.add(new ActionLink<Domain>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 7610801302168867641L;
 
@@ -127,7 +127,7 @@ public class DomainDirectoryPanel extends DirectoryPanel<Domain, Domain, DomainP
             }
         }, ActionLink.ActionType.PASSWORD_MANAGEMENT, IdRepoEntitlement.KEYMASTER);
 
-        panel.add(new ActionLink<Domain>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -191,7 +191,7 @@ public class DomainDirectoryPanel extends DirectoryPanel<Domain, Domain, DomainP
 
         @Override
         public IModel<Domain> model(final Domain object) {
-            return new IModel<Domain>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = 8093553921710742624L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
index a828115..676347d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
@@ -71,7 +71,7 @@ public class DynRealmDirectoryPanel extends
         });
         setFooterVisibility(true);
 
-        AjaxLink<Void> newDynRealmlLink = new AjaxLink<Void>("add") {
+        AjaxLink<Void> newDynRealmlLink = new AjaxLink<>("add") {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -113,7 +113,7 @@ public class DynRealmDirectoryPanel extends
     public ActionsPanel<DynRealmTO> getActions(final IModel<DynRealmTO> model) {
         final ActionsPanel<DynRealmTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<DynRealmTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -126,7 +126,7 @@ public class DynRealmDirectoryPanel extends
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.DYNREALM_UPDATE);
 
-        panel.add(new ActionLink<DynRealmTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 3766262567901552032L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
index 9c1c052..e3d5f41 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmModalPanel.java
@@ -71,7 +71,7 @@ public class DynRealmModalPanel extends AbstractModalPanel<DynRealmWrapper> {
         key.setRequired(true);
         add(key);
 
-        final LoadableDetachableModel<List<AnyTypeTO>> types = new LoadableDetachableModel<List<AnyTypeTO>>() {
+        final LoadableDetachableModel<List<AnyTypeTO>> types = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -81,7 +81,7 @@ public class DynRealmModalPanel extends AbstractModalPanel<DynRealmWrapper> {
             }
         };
 
-        add(new ListView<AnyTypeTO>("dynMembershipCond", types) {
+        add(new ListView<>("dynMembershipCond", types) {
 
             private static final long serialVersionUID = 9101744072914090143L;
 
@@ -89,33 +89,33 @@ public class DynRealmModalPanel extends AbstractModalPanel<DynRealmWrapper> {
             protected void populateItem(final ListItem<AnyTypeTO> item) {
                 final String key = item.getModelObject().getKey();
                 item.add(new Accordion("dynMembershipCond", List.of(
-                        new AbstractTab(Model.of(key + " Dynamic Condition")) {
+                    new AbstractTab(Model.of(key + " Dynamic Condition")) {
 
-                    private static final long serialVersionUID = 1037272333056449378L;
+                        private static final long serialVersionUID = 1037272333056449378L;
 
-                    @Override
-                    public Panel getPanel(final String panelId) {
-                        switch (item.getModelObject().getKind()) {
-                            case USER:
-                                return new UserSearchPanel.Builder(
+                        @Override
+                        public Panel getPanel(final String panelId) {
+                            switch (item.getModelObject().getKind()) {
+                                case USER:
+                                    return new UserSearchPanel.Builder(
                                         new MapOfListModel<>(dynRealmWrapper, "dynClauses", key)).
                                         required(false).build(panelId);
 
-                            case GROUP:
-                                return new GroupSearchPanel.Builder(
+                                case GROUP:
+                                    return new GroupSearchPanel.Builder(
                                         new MapOfListModel<>(dynRealmWrapper, "dynClauses", key)).
                                         required(false).build(panelId);
 
-                            case ANY_OBJECT:
-                            default:
-                                return new AnyObjectSearchPanel.Builder(
+                                case ANY_OBJECT:
+                                default:
+                                    return new AnyObjectSearchPanel.Builder(
                                         key,
                                         new MapOfListModel<>(dynRealmWrapper, "dynClauses", key)).
                                         required(false).build(panelId);
+                            }
                         }
-                    }
-                }), Model.of(StringUtils.isBlank(dynRealmWrapper.getDynMembershipConds().get(key)) ? -1 : 0)).
-                        setOutputMarkupId(true));
+                    }), Model.of(StringUtils.isBlank(dynRealmWrapper.getDynMembershipConds().get(key)) ? -1 : 0)).
+                    setOutputMarkupId(true));
             }
         });
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
index 503a49d..fce6681 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
@@ -188,14 +188,14 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
     public ActionsPanel<Serializable> getHeader(final String componentId) {
         final ActionsPanel<Serializable> panel = super.getHeader(componentId);
 
-        panel.add(new ActionLink<Serializable>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
                 target.add(displayAttributeModal.setContent(new GroupDisplayAttributesModalPanel<>(
-                        displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames)));
+                    displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames)));
                 displayAttributeModal.header(new ResourceModel("any.attr.display"));
                 displayAttributeModal.show(true);
             }
@@ -207,88 +207,88 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
     public ActionsPanel<GroupTO> getActions(final IModel<GroupTO> model) {
         final ActionsPanel<GroupTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
 
-            private static final long serialVersionUID = -7978723352517770644L;
+                      private static final long serialVersionUID = -7978723352517770644L;
 
-            @Override
-            public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
-                send(GroupDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(new GroupWrapper(
-                                restClient.read(model.getObject().getKey())), target));
-            }
-        }, ActionType.EDIT,
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
+                          send(GroupDirectoryPanel.this, Broadcast.EXACT,
+                              new AjaxWizard.EditItemActionEvent<>(new GroupWrapper(
+                                  restClient.read(model.getObject().getKey())), target));
+                      }
+                  }, ActionType.EDIT,
                 String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.GROUP_UPDATE)).
                 setRealms(realm, model.getObject().getDynRealms());
 
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 6242834621660352855L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
                 target.add(typeExtensionsModal.setContent(new TypeExtensionDirectoryPanel(
-                        typeExtensionsModal, model.getObject(), pageRef)));
+                    typeExtensionsModal, model.getObject(), pageRef)));
                 typeExtensionsModal.header(new StringResourceModel("typeExtensions", model));
                 typeExtensionsModal.show(true);
             }
         }, ActionType.TYPE_EXTENSIONS, IdRepoEntitlement.GROUP_UPDATE).
                 setRealms(realm, model.getObject().getDynRealms());
 
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
 
-            private static final long serialVersionUID = -7978723352517770645L;
+                      private static final long serialVersionUID = -7978723352517770645L;
 
-            @Override
-            public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
-                templates.setTargetObject(model.getObject());
-                templates.toggle(target, true);
-            }
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
+                          templates.setTargetObject(model.getObject());
+                          templates.toggle(target, true);
+                      }
 
-            @Override
-            public boolean isIndicatorEnabled() {
-                return false;
-            }
-        }, ActionType.MEMBERS,
+                      @Override
+                      public boolean isIndicatorEnabled() {
+                          return false;
+                      }
+                  }, ActionType.MEMBERS,
                 String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.GROUP_UPDATE)).
                 setRealms(realm, model.getObject().getDynRealms());
 
-        panel.add(new ActionLink<GroupTO>() {
-
-            private static final long serialVersionUID = -7978723352517770644L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
-                try {
-                    SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
-                    target.add(container);
-                } catch (SyncopeClientException e) {
-                    LOG.error("While provisioning members of group {}", model.getObject().getKey(), e);
-                    SyncopeConsoleSession.get().onException(e);
-                }
-                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-            }
-        }, ActionType.PROVISION_MEMBERS,
+        panel.add(new ActionLink<>() {
+
+                      private static final long serialVersionUID = -7978723352517770644L;
+
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
+                          try {
+                              SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
+                              target.add(container);
+                          } catch (SyncopeClientException e) {
+                              LOG.error("While provisioning members of group {}", model.getObject().getKey(), e);
+                              SyncopeConsoleSession.get().onException(e);
+                          }
+                          ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                      }
+                  }, ActionType.PROVISION_MEMBERS,
                 String.format("%s,%s", IdRepoEntitlement.TASK_CREATE, IdRepoEntitlement.TASK_EXECUTE)).
                 setRealm(realm);
 
-        panel.add(new ActionLink<GroupTO>() {
-
-            private static final long serialVersionUID = -7978723352517770644L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
-                try {
-                    GroupRestClient.provisionMembers(model.getObject().getKey(), ProvisionAction.DEPROVISION);
-                    SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
-                    target.add(container);
-                } catch (SyncopeClientException e) {
-                    LOG.error("While provisioning members of group {}", model.getObject().getKey(), e);
-                    SyncopeConsoleSession.get().onException(e);
-                }
-                ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-            }
-        }, ActionType.DEPROVISION_MEMBERS,
+        panel.add(new ActionLink<>() {
+
+                      private static final long serialVersionUID = -7978723352517770644L;
+
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
+                          try {
+                              GroupRestClient.provisionMembers(model.getObject().getKey(), ProvisionAction.DEPROVISION);
+                              SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
+                              target.add(container);
+                          } catch (SyncopeClientException e) {
+                              LOG.error("While provisioning members of group {}", model.getObject().getKey(), e);
+                              SyncopeConsoleSession.get().onException(e);
+                          }
+                          ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                      }
+                  }, ActionType.DEPROVISION_MEMBERS,
                 String.format("%s,%s", IdRepoEntitlement.TASK_CREATE, IdRepoEntitlement.TASK_EXECUTE)).
                 setRealm(realm);
 
@@ -300,78 +300,79 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
                 this,
                 pageRef).forEach(panel::add);
 
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
                 target.add(utilityModal.setContent(new AnyPropagationTasks(
-                        utilityModal, AnyTypeKind.GROUP, model.getObject().getKey(), pageRef)));
+                    utilityModal, AnyTypeKind.GROUP, model.getObject().getKey(), pageRef)));
                 utilityModal.header(new StringResourceModel("any.propagation.tasks", model));
                 utilityModal.show(true);
             }
         }, ActionType.PROPAGATION_TASKS, IdRepoEntitlement.TASK_LIST);
 
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
                 target.add(utilityModal.setContent(
-                        new NotificationTasks(AnyTypeKind.GROUP, model.getObject().getKey(), pageRef)));
+                    new NotificationTasks(AnyTypeKind.GROUP, model.getObject().getKey(), pageRef)));
                 utilityModal.header(new StringResourceModel("any.notification.tasks", model));
                 utilityModal.show(true);
             }
         }, ActionType.NOTIFICATION_TASKS, IdRepoEntitlement.TASK_LIST);
 
-        panel.add(new ActionLink<GroupTO>() {
-
-            private static final long serialVersionUID = -2878723352517770644L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
-                model.setObject(restClient.read(model.getObject().getKey()));
-                target.add(altDefaultModal.setContent(new AuditHistoryModal<GroupTO>(
-                        altDefaultModal,
-                        AuditElements.EventCategoryType.LOGIC,
-                        "GroupLogic",
-                        model.getObject(),
-                        IdRepoEntitlement.GROUP_UPDATE,
-                        pageRef) {
-
-                    private static final long serialVersionUID = -5819724478921691835L;
-
-                    @Override
-                    protected void restore(final String json, final AjaxRequestTarget target) {
-                        GroupTO original = model.getObject();
-                        try {
-                            GroupTO updated = MAPPER.readValue(json, GroupTO.class);
-                            GroupUR updateReq = AnyOperations.diff(updated, original, false);
-                            ProvisioningResult<GroupTO> result = restClient.update(original.getETagValue(), updateReq);
-                            model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
-
-                            SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
-                            target.add(container);
-                        } catch (Exception e) {
-                            LOG.error("While restoring group {}", model.getObject().getKey(), e);
-                            SyncopeConsoleSession.get().onException(e);
-                        }
-                        ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-                    }
-                }));
-
-                altDefaultModal.header(new Model<>(
-                        getString("auditHistory.title", new Model<>(new AnyWrapper<>(model.getObject())))));
-
-                altDefaultModal.show(true);
-            }
-        }, ActionType.VIEW_AUDIT_HISTORY,
-                String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.AUDIT_LIST)).
-                setRealms(realm, model.getObject().getDynRealms());
-
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
+
+                  private static final long serialVersionUID = -2878723352517770644L;
+
+                  @Override
+                  public void onClick(final AjaxRequestTarget target, final GroupTO ignore) {
+                      model.setObject(restClient.read(model.getObject().getKey()));
+                      target.add(altDefaultModal.setContent(new AuditHistoryModal<>(
+                          altDefaultModal,
+                          AuditElements.EventCategoryType.LOGIC,
+                          "GroupLogic",
+                          model.getObject(),
+                          IdRepoEntitlement.GROUP_UPDATE,
+                          pageRef) {
+
+                          private static final long serialVersionUID = -5819724478921691835L;
+
+                          @Override
+                          protected void restore(final String json, final AjaxRequestTarget target) {
+                              GroupTO original = model.getObject();
+                              try {
+                                  GroupTO updated = MAPPER.readValue(json, GroupTO.class);
+                                  GroupUR updateReq = AnyOperations.diff(updated, original, false);
+                                  ProvisioningResult<GroupTO> result =
+                                      restClient.update(original.getETagValue(), updateReq);
+                                  model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
+
+                                  SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
+                                  target.add(container);
+                              } catch (Exception e) {
+                                  LOG.error("While restoring group {}", model.getObject().getKey(), e);
+                                  SyncopeConsoleSession.get().onException(e);
+                              }
+                              ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                          }
+                      }));
+
+                      altDefaultModal.header(new Model<>(
+                          getString("auditHistory.title", new Model<>(new AnyWrapper<>(model.getObject())))));
+
+                      altDefaultModal.show(true);
+                  }
+              }, ActionType.VIEW_AUDIT_HISTORY,
+            String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.AUDIT_LIST)).
+            setRealms(realm, model.getObject().getDynRealms());
+
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 6242834621660352855L;
 
@@ -380,7 +381,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
                 GroupTO clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(GroupDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.NewItemActionEvent<>(new GroupWrapper(clone), target));
+                    new AjaxWizard.NewItemActionEvent<>(new GroupWrapper(clone), target));
             }
 
             @Override
@@ -389,7 +390,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli
             }
         }, ActionType.CLONE, IdRepoEntitlement.GROUP_CREATE).setRealm(realm);
 
-        panel.add(new ActionLink<GroupTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
index 68d85df..4eea733 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
@@ -99,14 +99,14 @@ public class ImplementationDirectoryPanel extends DirectoryPanel<
         };
         addInnerObject(engineTogglePanel);
 
-        AjaxLink<Void> replaceAddLink = new AjaxLink<Void>("add") {
+        AjaxLink<Void> replaceAddLink = new AjaxLink<>("add") {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target) {
                 send(ImplementationDirectoryPanel.this, Broadcast.BREADTH,
-                        new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+                    new ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
                 engineTogglePanel.setHeaderLabel(target);
                 engineTogglePanel.toggle(target, true);
             }
@@ -132,20 +132,20 @@ public class ImplementationDirectoryPanel extends DirectoryPanel<
     protected ActionsPanel<ImplementationTO> getActions(final IModel<ImplementationTO> model) {
         final ActionsPanel<ImplementationTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<ImplementationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ImplementationTO ignore) {
                 target.add(modal.setContent(
-                        new ImplementationModalPanel(modal, model.getObject(), pageRef)));
+                    new ImplementationModalPanel(modal, model.getObject(), pageRef)));
                 modal.header(new StringResourceModel("any.edit", Model.of(model.getObject())));
                 modal.show(true);
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.IMPLEMENTATION_UPDATE);
 
-        panel.add(new ActionLink<ImplementationTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -208,7 +208,7 @@ public class ImplementationDirectoryPanel extends DirectoryPanel<
 
         @Override
         public IModel<ImplementationTO> model(final ImplementationTO implementation) {
-            return new IModel<ImplementationTO>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = 999513782683391483L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
index 375532a..f3aeace 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java
@@ -165,21 +165,21 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
 
         addInnerObject(header(toBeIncluded));
 
-        beans = new ListView<T>("beans", listOfItems) {
+        beans = new ListView<>("beans", listOfItems) {
 
             private static final long serialVersionUID = -9112553137618363167L;
 
             @Override
             protected void populateItem(final ListItem<T> beanItem) {
                 beanItem.add(new Check<>("check", beanItem.getModel(), checkGroup).setOutputMarkupId(true).
-                        setOutputMarkupPlaceholderTag(true).
-                        setVisible(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE
-                                || ListViewPanel.this.check.getObject() == CheckAvailability.DISABLED).
-                        setEnabled(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE));
+                    setOutputMarkupPlaceholderTag(true).
+                    setVisible(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE
+                        || ListViewPanel.this.check.getObject() == CheckAvailability.DISABLED).
+                    setEnabled(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE));
 
                 final T bean = beanItem.getModelObject();
 
-                final ListView<String> fields = new ListView<String>("fields", toBeIncluded) {
+                final ListView<String> fields = new ListView<>("fields", toBeIncluded) {
 
                     private static final long serialVersionUID = -9112553137618363167L;
 
@@ -200,9 +200,9 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
                                 @Override
                                 protected void onEvent(final AjaxRequestTarget target) {
                                     togglePanel.toggleWithContent(
-                                            target,
-                                            actions.cloneWithLabels("actions", new Model<>(bean)),
-                                            bean);
+                                        target,
+                                        actions.cloneWithLabels("actions", new Model<>(bean)),
+                                        bean);
                                 }
                             });
                         }
@@ -225,14 +225,14 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
     }
 
     private static ListView<String> header(final List<String> labels) {
-        return new ListView<String>("names", labels) {
+        return new ListView<>("names", labels) {
 
             private static final long serialVersionUID = -9112553137618363167L;
 
             @Override
             protected void populateItem(final ListItem<String> item) {
                 item.add(new Label(Constants.NAME_FIELD_NAME,
-                        new ResourceModel(item.getModelObject(), item.getModelObject())));
+                    new ResourceModel(item.getModelObject(), item.getModelObject())));
             }
         };
     }
@@ -423,8 +423,8 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan
 
         @Override
         protected WizardMgtPanel<T> newInstance(final String id, final boolean wizardInModal) {
-            return new ListViewPanel<T>(
-                    id, items, reference, includes, actions, check, reuseItem, wizardInModal, captionVisible, model) {
+            return new ListViewPanel<>(
+                id, items, reference, includes, actions, check, reuseItem, wizardInModal, captionVisible, model) {
 
                 private static final long serialVersionUID = -1715389337530657988L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogsPanel.java
index 40ab747..866b853 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogsPanel.java
@@ -55,7 +55,7 @@ public class LogsPanel extends Panel {
 
     private static final Logger LOG = LoggerFactory.getLogger(LogsPanel.class);
 
-    private final IModel<List<LoggerConf>> loggerConfs = new LoadableDetachableModel<List<LoggerConf>>() {
+    private final IModel<List<LoggerConf>> loggerConfs = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
@@ -99,7 +99,7 @@ public class LogsPanel extends Panel {
         WebMarkupContainer loggerContainer = new WebMarkupContainer("loggerContainer");
         add(loggerContainer.setOutputMarkupId(true));
 
-        ListViewPanel.Builder<LoggerConf> builder = new ListViewPanel.Builder<LoggerConf>(LoggerConf.class, pageRef) {
+        ListViewPanel.Builder<LoggerConf> builder = new ListViewPanel.Builder<>(LoggerConf.class, pageRef) {
 
             private static final long serialVersionUID = 6957788356709885298L;
 
@@ -107,7 +107,7 @@ public class LogsPanel extends Panel {
             protected Component getValueComponent(final String key, final LoggerConf loggerConf) {
                 if ("level".equalsIgnoreCase(key)) {
                     AjaxDropDownChoicePanel<LogLevel> loggerLevel = new AjaxDropDownChoicePanel<>(
-                            "field", getString("level"), Model.of(loggerConf.getLevel()), false);
+                        "field", getString("level"), Model.of(loggerConf.getLevel()), false);
                     MetaDataRoleAuthorizationStrategy.authorize(loggerLevel, ENABLE, IdRepoEntitlement.LOGGER_UPDATE);
 
                     loggerLevel.hideLabel();
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
index c20adb7..f16698b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
@@ -47,14 +47,14 @@ public abstract class MembersTogglePanel extends TogglePanel<Serializable> {
 
     protected final Model<String> typeModel = new Model<>();
 
-    private final LoadableDetachableModel<List<String>> anyTypes = new LoadableDetachableModel<List<String>>() {
+    private final LoadableDetachableModel<List<String>> anyTypes = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
         @Override
         protected List<String> load() {
             return AnyTypeRestClient.list().stream().
-                    filter(anyType -> !AnyTypeKind.GROUP.name().equals(anyType)).collect(Collectors.toList());
+                filter(anyType -> !AnyTypeKind.GROUP.name().equals(anyType)).collect(Collectors.toList());
         }
     };
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java
index 86a1414..cd21fad 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java
@@ -121,7 +121,7 @@ public class NetworkServiceDirectoryPanel extends DirectoryPanel<
 
         @Override
         public IModel<NetworkService> model(final NetworkService service) {
-            return new IModel<NetworkService>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = 999513782683391483L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java
index 7545c03..40704f7 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java
@@ -63,7 +63,7 @@ public class ParametersDirectoryPanel
     private ConfParamOps confParamOps;
 
     public ParametersDirectoryPanel(final String id, final PageReference pageRef) {
-        super(id, new Builder<ConfParam, ConfParam, SyncopeRestClient>(new SyncopeRestClient(), pageRef) {
+        super(id, new Builder<>(new SyncopeRestClient(), pageRef) {
 
             private static final long serialVersionUID = 8769126634538601689L;
 
@@ -112,19 +112,19 @@ public class ParametersDirectoryPanel
     protected List<IColumn<ConfParam, String>> getColumns() {
         final List<IColumn<ConfParam, String>> columns = new ArrayList<>();
         columns.add(new PropertyColumn<>(new ResourceModel("schema"), "schema"));
-        columns.add(new PropertyColumn<ConfParam, String>(new ResourceModel("values"), "values") {
+        columns.add(new PropertyColumn<>(new ResourceModel("values"), "values") {
 
             private static final long serialVersionUID = -1822504503325964706L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<ConfParam>> item,
-                    final String componentId,
-                    final IModel<ConfParam> rowModel) {
+                final Item<ICellPopulator<ConfParam>> item,
+                final String componentId,
+                final IModel<ConfParam> rowModel) {
 
                 if (rowModel.getObject().getValues().toString().length() > 96) {
                     item.add(new Label(componentId, getString("tooLong")).
-                            add(new AttributeModifier("style", "font-style:italic")));
+                        add(new AttributeModifier("style", "font-style:italic")));
                 } else {
                     super.populateItem(item, componentId, rowModel);
                 }
@@ -137,7 +137,7 @@ public class ParametersDirectoryPanel
     public ActionsPanel<ConfParam> getActions(final IModel<ConfParam> model) {
         final ActionsPanel<ConfParam> panel = super.getActions(model);
 
-        panel.add(new ActionLink<ConfParam>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -146,12 +146,12 @@ public class ParametersDirectoryPanel
                 target.add(modal);
                 modal.header(new StringResourceModel("any.edit"));
                 modal.setContent(new ParametersModalPanel(
-                        modal, model.getObject(), confParamOps, AjaxWizard.Mode.EDIT, pageRef));
+                    modal, model.getObject(), confParamOps, AjaxWizard.Mode.EDIT, pageRef));
                 modal.show(true);
             }
         }, ActionLink.ActionType.EDIT, null);
 
-        panel.add(new ActionLink<ConfParam>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersWizardAttrStep.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersWizardAttrStep.java
index 56986f4..de61f0f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersWizardAttrStep.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersWizardAttrStep.java
@@ -65,7 +65,7 @@ public class ParametersWizardAttrStep extends WizardStep {
         schema.setReadOnly(mode != AjaxWizard.Mode.CREATE);
         content.add(schema);
 
-        LoadableDetachableModel<List<PlainSchemaTO>> schemas = new LoadableDetachableModel<List<PlainSchemaTO>>() {
+        LoadableDetachableModel<List<PlainSchemaTO>> schemas = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 7172461137064525667L;
 
@@ -75,7 +75,7 @@ public class ParametersWizardAttrStep extends WizardStep {
             }
         };
 
-        ListView<PlainSchemaTO> attrs = new ListView<PlainSchemaTO>("attrs", schemas) {
+        ListView<PlainSchemaTO> attrs = new ListView<>("attrs", schemas) {
 
             private static final long serialVersionUID = 9101744072914090143L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
index 83bbcb6..cfcf5f7 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
@@ -95,14 +95,14 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
         AjaxTextFieldPanel enumerationValuesPanel = new AjaxTextFieldPanel("panel",
                 "enumerationValues", new Model<>(null));
 
-        enumerationValues = new MultiFieldPanel.Builder<String>(
+        enumerationValues = new MultiFieldPanel.Builder<>(
                 new PropertyModel<List<String>>(schemaTO, "enumerationValues") {
 
             private static final long serialVersionUID = -4953564762272833993L;
 
             @Override
             public PropertyList<PlainSchemaTO> getObject() {
-                return new PropertyList<PlainSchemaTO>() {
+                return new PropertyList<>() {
 
                     @Override
                     public String getValues() {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PrivilegeDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PrivilegeDirectoryPanel.java
index b44e8f0..9cdaa59 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PrivilegeDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/PrivilegeDirectoryPanel.java
@@ -95,7 +95,7 @@ public class PrivilegeDirectoryPanel extends DirectoryPanel<
     protected ActionsPanel<PrivilegeTO> getActions(final IModel<PrivilegeTO> model) {
         ActionsPanel<PrivilegeTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<PrivilegeTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -103,11 +103,11 @@ public class PrivilegeDirectoryPanel extends DirectoryPanel<
             public void onClick(final AjaxRequestTarget target, final PrivilegeTO ignore) {
                 PrivilegeDirectoryPanel.this.getTogglePanel().close(target);
                 send(PrivilegeDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.APPLICATION_UPDATE);
 
-        panel.add(new ActionLink<PrivilegeTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index 7bc9c58..625d2bc 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -109,7 +109,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
                 final ActionsPanel<RealmTO> actionPanel = new ActionsPanel<>("actions", null);
 
                 if (StringUtils.startsWith(realmTO.getFullPath(), SyncopeConstants.ROOT_REALM)) {
-                    actionPanel.add(new ActionLink<RealmTO>(realmTO) {
+                    actionPanel.add(new ActionLink<>(realmTO) {
 
                         private static final long serialVersionUID = 2802988981431379827L;
 
@@ -119,7 +119,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
                         }
                     }, ActionLink.ActionType.CREATE, IdRepoEntitlement.REALM_CREATE).hideLabel();
 
-                    actionPanel.add(new ActionLink<RealmTO>(realmTO) {
+                    actionPanel.add(new ActionLink<>(realmTO) {
 
                         private static final long serialVersionUID = 2802988981431379828L;
 
@@ -129,7 +129,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
                         }
                     }, ActionLink.ActionType.EDIT, IdRepoEntitlement.REALM_UPDATE).hideLabel();
 
-                    actionPanel.add(new ActionLink<RealmTO>(realmTO) {
+                    actionPanel.add(new ActionLink<>(realmTO) {
 
                         private static final long serialVersionUID = 2802988981431379827L;
 
@@ -139,7 +139,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
                         }
                     }, ActionLink.ActionType.TEMPLATE, IdRepoEntitlement.REALM_UPDATE).hideLabel();
 
-                    actionPanel.add(new ActionLink<RealmTO>(realmTO) {
+                    actionPanel.add(new ActionLink<>(realmTO) {
 
                         private static final long serialVersionUID = 2802988981431379829L;
 
@@ -205,8 +205,8 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
         propagations.add(syncope);
         propagations.addAll(((ProvisioningResult) result).getPropagationStatuses());
 
-        ListViewPanel.Builder<PropagationStatus> builder = new ListViewPanel.Builder<PropagationStatus>(
-                PropagationStatus.class, pageRef) {
+        ListViewPanel.Builder<PropagationStatus> builder = new ListViewPanel.Builder<>(
+            PropagationStatus.class, pageRef) {
 
             private static final long serialVersionUID = -6809736686861678498L;
 
@@ -215,12 +215,12 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
                 if ("afterObj".equalsIgnoreCase(key)) {
                     ConnObjectTO afterObj = bean.getAfterObj();
                     String remoteId = afterObj == null
-                            || afterObj.getAttrs().isEmpty()
-                            || afterObj.getAttr(ConnIdSpecialName.NAME).isEmpty()
-                            || afterObj.getAttr(ConnIdSpecialName.NAME).get().getValues() == null
-                            || afterObj.getAttr(ConnIdSpecialName.NAME).get().getValues().isEmpty()
-                            ? StringUtils.EMPTY
-                            : afterObj.getAttr(ConnIdSpecialName.NAME).get().getValues().get(0);
+                        || afterObj.getAttrs().isEmpty()
+                        || afterObj.getAttr(ConnIdSpecialName.NAME).isEmpty()
+                        || afterObj.getAttr(ConnIdSpecialName.NAME).get().getValues() == null
+                        || afterObj.getAttr(ConnIdSpecialName.NAME).get().getValues().isEmpty()
+                        ? StringUtils.EMPTY
+                        : afterObj.getAttr(ConnIdSpecialName.NAME).get().getValues().get(0);
 
                     return new Label("field", remoteId);
                 } else if ("status".equalsIgnoreCase(key)) {
@@ -237,15 +237,15 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
         builder.withChecks(ListViewPanel.CheckAvailability.NONE);
         builder.setReuseItem(false);
 
-        ActionLink<PropagationStatus> connObjectLink = new ActionLink<PropagationStatus>() {
+        ActionLink<PropagationStatus> connObjectLink = new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             protected boolean statusCondition(final PropagationStatus bean) {
                 return !Constants.SYNCOPE.equals(bean.getResource())
-                        && (ExecStatus.CREATED == bean.getStatus()
-                        || ExecStatus.SUCCESS == bean.getStatus());
+                    && (ExecStatus.CREATED == bean.getStatus()
+                    || ExecStatus.SUCCESS == bean.getStatus());
             }
 
             @Override
@@ -255,7 +255,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
         };
         SyncopeWebApplication.get().getStatusProvider().addConnObjectLink(builder, connObjectLink);
 
-        builder.addAction(new ActionLink<PropagationStatus>() {
+        builder.addAction(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
index 51e7a4f..d4c149d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
@@ -99,7 +99,7 @@ public class RealmChoicePanel extends Panel {
         tree = new HashMap<>();
         isSearchEnabled = RealmsUtils.isSearchEnabled(SyncopeConsoleSession.get().getSearchableRealms());
 
-        realmTree = new LoadableDetachableModel<List<Pair<String, RealmTO>>>() {
+        realmTree = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = -7688359318035249200L;
 
@@ -109,24 +109,24 @@ public class RealmChoicePanel extends Panel {
                 List<Pair<String, RealmTO>> full;
                 if (isSearchEnabled) {
                     full = map.entrySet().stream().map(el -> Pair.of(
-                            el.getKey(),
-                            el.getValue().getLeft())).
-                            collect(Collectors.toList());
+                        el.getKey(),
+                        el.getValue().getLeft())).
+                        collect(Collectors.toList());
                 } else {
                     full = map.entrySet().stream().
-                            map(el -> Pair.of(
+                        map(el -> Pair.of(
                             el.getValue().getLeft().getFullPath(),
                             el.getValue().getKey())).
-                            sorted(Comparator.comparing(Pair::getLeft)).
-                            collect(Collectors.toList());
+                        sorted(Comparator.comparing(Pair::getLeft)).
+                        collect(Collectors.toList());
                 }
                 return full.stream().filter(realm -> availableRealms.stream().anyMatch(
-                        availableRealm -> realm.getValue().getFullPath().startsWith(availableRealm))).
-                        collect(Collectors.toList());
+                    availableRealm -> realm.getValue().getFullPath().startsWith(availableRealm))).
+                    collect(Collectors.toList());
             }
         };
 
-        dynRealmTree = new LoadableDetachableModel<List<DynRealmTO>>() {
+        dynRealmTree = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -143,7 +143,7 @@ public class RealmChoicePanel extends Panel {
                     }
                 });
                 return dynRealms.stream().filter(dynRealm -> availableRealms.stream().
-                        anyMatch(availableRealm -> SyncopeConstants.ROOT_REALM.equals(availableRealm)
+                    anyMatch(availableRealm -> SyncopeConstants.ROOT_REALM.equals(availableRealm)
                         || dynRealm.getKey().equals(availableRealm))).collect(Collectors.toList());
             }
         };
@@ -162,7 +162,7 @@ public class RealmChoicePanel extends Panel {
                         placeholder.setFullPath(rootRealm);
                         return placeholder;
                     });
-        }).orElseGet(() -> new RealmTO());
+        }).orElseGet(RealmTO::new);
 
         model = Model.of(realmTO);
         searchQuery = realmTO.getName();
@@ -195,43 +195,43 @@ public class RealmChoicePanel extends Panel {
             settings.setShowListOnEmptyInput(false);
 
             final AutoCompleteTextField<String> searchRealms =
-                    new AutoCompleteTextField<String>(SEARCH_REALMS, new Model<String>(), settings) {
+                new AutoCompleteTextField<>(SEARCH_REALMS, new Model<>(), settings) {
 
-                private static final long serialVersionUID = -6635259975264955783L;
+                    private static final long serialVersionUID = -6635259975264955783L;
 
-                @Override
-                protected Iterator<String> getChoices(final String input) {
-                    searchQuery = input;
-                    realmsChoices = RealmsUtils.checkInput(input)
+                    @Override
+                    protected Iterator<String> getChoices(final String input) {
+                        searchQuery = input;
+                        realmsChoices = RealmsUtils.checkInput(input)
                             ? buildRealmChoices()
                             : List.of();
-                    return realmsChoices.stream().
-                            map(item -> item.getFullPath()).sorted().collect(Collectors.toList()).iterator();
-                }
+                        return realmsChoices.stream().
+                            map(RealmTO::getFullPath).sorted().collect(Collectors.toList()).iterator();
+                    }
 
-                @Override
-                protected AutoCompleteBehavior<String> newAutoCompleteBehavior(
+                    @Override
+                    protected AutoCompleteBehavior<String> newAutoCompleteBehavior(
                         final IAutoCompleteRenderer<String> renderer,
                         final AutoCompleteSettings settings) {
-                    return super.newAutoCompleteBehavior(new AbstractAutoCompleteRenderer<String>() {
+                        return super.newAutoCompleteBehavior(new AbstractAutoCompleteRenderer<>() {
 
-                        private static final long serialVersionUID = -4789925973199139157L;
+                            private static final long serialVersionUID = -4789925973199139157L;
 
-                        @Override
-                        protected void renderChoice(
+                            @Override
+                            protected void renderChoice(
                                 final String object,
                                 final Response response,
                                 final String criteria) {
-                            response.write(object);
-                        }
-
-                        @Override
-                        protected String getTextValue(final String object) {
-                            return object;
-                        }
-                    }, settings);
-                }
-            };
+                                response.write(object);
+                            }
+
+                            @Override
+                            protected String getTextValue(final String object) {
+                                return object;
+                            }
+                        }, settings);
+                    }
+                };
 
             searchRealms.add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
@@ -279,11 +279,11 @@ public class RealmChoicePanel extends Panel {
 
     private void buildRealmLinks(final Label label, final Label realmLabel) {
         RealmChoicePanel.this.links.clear();
-        RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
-                ButtonList.getButtonMarkupId(),
-                new Model<RealmTO>(),
-                Buttons.Type.Link,
-                new ResourceModel("realms", "Realms")) {
+        RealmChoicePanel.this.links.add(new BootstrapAjaxLink<>(
+            ButtonList.getButtonMarkupId(),
+            new Model<>(),
+            Buttons.Type.Link,
+            new ResourceModel("realms", "Realms")) {
 
             private static final long serialVersionUID = -7978723352517770744L;
 
@@ -303,11 +303,11 @@ public class RealmChoicePanel extends Panel {
         });
 
         realmTree.getObject().forEach(link -> {
-            RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
-                    ButtonList.getButtonMarkupId(),
-                    Model.of(link.getRight()),
-                    Buttons.Type.Link,
-                    new Model<>(link.getLeft())) {
+            RealmChoicePanel.this.links.add(new BootstrapAjaxLink<>(
+                ButtonList.getButtonMarkupId(),
+                Model.of(link.getRight()),
+                Buttons.Type.Link,
+                new Model<>(link.getLeft())) {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
@@ -323,11 +323,11 @@ public class RealmChoicePanel extends Panel {
         });
 
         if (!dynRealmTree.getObject().isEmpty()) {
-            RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
-                    ButtonList.getButtonMarkupId(),
-                    new Model<RealmTO>(),
-                    Buttons.Type.Link,
-                    new ResourceModel("dynrealms", "Dynamic Realms")) {
+            RealmChoicePanel.this.links.add(new BootstrapAjaxLink<>(
+                ButtonList.getButtonMarkupId(),
+                new Model<>(),
+                Buttons.Type.Link,
+                new ResourceModel("dynrealms", "Dynamic Realms")) {
 
                 private static final long serialVersionUID = -7978723352517770744L;
 
@@ -353,11 +353,11 @@ public class RealmChoicePanel extends Panel {
                 realmTO.setName(dynRealmTO.getKey());
                 realmTO.setFullPath(dynRealmTO.getKey());
 
-                RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
-                        ButtonList.getButtonMarkupId(),
-                        new Model<RealmTO>(),
-                        Buttons.Type.Link,
-                        new Model<>(realmTO.getKey())) {
+                RealmChoicePanel.this.links.add(new BootstrapAjaxLink<>(
+                    ButtonList.getButtonMarkupId(),
+                    new Model<>(),
+                    Buttons.Type.Link,
+                    new Model<>(realmTO.getKey())) {
 
                     private static final long serialVersionUID = -7978723352517770644L;
 
@@ -423,7 +423,7 @@ public class RealmChoicePanel extends Panel {
 
     private List<RealmTO> buildRealmChoices() {
         return Stream.of(
-                realmTree.getObject().stream().map(item -> item.getValue()).collect(Collectors.toList()),
+                realmTree.getObject().stream().map(Pair::getValue).collect(Collectors.toList()),
                 dynRealmTree.getObject().stream().map(
                         item -> {
                             final RealmTO realmTO = new RealmTO();
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
index bda68fa..9c689f4 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
@@ -50,18 +50,18 @@ public class RealmDetails extends Panel {
 
     protected static final Logger LOG = LoggerFactory.getLogger(RealmDetails.class);
 
-    private final IModel<List<String>> logicActions = new LoadableDetachableModel<List<String>>() {
+    private final IModel<List<String>> logicActions = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
         @Override
         protected List<String> load() {
             return ImplementationRestClient.list(IdRepoImplementationType.LOGIC_ACTIONS).stream().
-                    map(EntityTO::getKey).sorted().collect(Collectors.toList());
+                map(EntityTO::getKey).sorted().collect(Collectors.toList());
         }
     };
 
-    private final LoadableDetachableModel<List<String>> resources = new LoadableDetachableModel<List<String>>() {
+    private final LoadableDetachableModel<List<String>> resources = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
index 3cfd99f..23c86dc 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java
@@ -134,8 +134,8 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<
                     columns.add(new BooleanPropertyColumn<>(
                             new ResourceModel(field.getName()), field.getName(), field.getName()));
                 } else {
-                    columns.add(new PropertyColumn<RelationshipTypeTO, String>(
-                            new ResourceModel(field.getName()), field.getName(), field.getName()) {
+                    columns.add(new PropertyColumn<>(
+                        new ResourceModel(field.getName()), field.getName(), field.getName()) {
 
                         private static final long serialVersionUID = -6902459669035442212L;
 
@@ -144,8 +144,8 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<
                             String css = super.getCssClass();
                             if (Constants.KEY_FIELD_NAME.equals(fieldName)) {
                                 css = StringUtils.isBlank(css)
-                                        ? "col-xs-1"
-                                        : css + " col-xs-1";
+                                    ? "col-xs-1"
+                                    : css + " col-xs-1";
                             }
                             return css;
                         }
@@ -161,17 +161,17 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<
     public ActionsPanel<RelationshipTypeTO> getActions(final IModel<RelationshipTypeTO> model) {
         final ActionsPanel<RelationshipTypeTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<RelationshipTypeTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final RelationshipTypeTO ignore) {
                 send(RelationshipTypesPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.RELATIONSHIPTYPE_UPDATE);
-        panel.add(new ActionLink<RelationshipTypeTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
index c2df030..cacdc8f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
@@ -128,20 +128,20 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
     public ActionsPanel<RoleTO> getActions(final IModel<RoleTO> model) {
         final ActionsPanel<RoleTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<RoleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final RoleTO ignore) {
                 send(RoleDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                new RoleWrapper(RoleRestClient.read(model.getObject().getKey())),
-                                target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        new RoleWrapper(RoleRestClient.read(model.getObject().getKey())),
+                        target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.ROLE_READ);
 
-        panel.add(new ActionLink<RoleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -150,11 +150,11 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
                 RoleTO clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(RoleDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.NewItemActionEvent<>(new RoleWrapper(clone), target));
+                    new AjaxWizard.NewItemActionEvent<>(new RoleWrapper(clone), target));
             }
         }, ActionLink.ActionType.CLONE, IdRepoEntitlement.ROLE_CREATE);
 
-        panel.add(new ActionLink<RoleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -164,36 +164,36 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
 
                 AnyLayout layout = AnyLayoutUtils.fetch(AnyTypeRestClient.list());
                 ModalPanel anyPanel = AnyLayoutUtils.newAnyPanel(
-                        layout.getAnyPanelClass(),
-                        BaseModal.CONTENT_ID, userType, null, layout, false,
-                        (id, anyTypeTO, realmTO, anyLayout, pageRef) -> {
-                            String query = SyncopeClient.getUserSearchConditionBuilder().and(
-                                    SyncopeClient.getUserSearchConditionBuilder().inRoles(model.getObject().getKey()),
-                                    SyncopeClient.getUserSearchConditionBuilder().
-                                            is(Constants.KEY_FIELD_NAME).notNullValue()).
-                                    query();
-
-                            Panel panel = new UserDirectoryPanel.Builder(
-                                    AnyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).
-                                    setRealm(SyncopeConstants.ROOT_REALM).
-                                    setFiltered(true).
-                                    setFiql(query).
-                                    disableCheckBoxes().
-                                    addNewItemPanelBuilder(AnyLayoutUtils.newLayoutInfo(
-                                            new UserTO(),
-                                            anyTypeTO.getClasses(),
-                                            anyLayout.getUser(),
-                                            pageRef), false).
-                                    setWizardInModal(false).build(id);
-
-                            MetaDataRoleAuthorizationStrategy.authorize(
-                                    panel,
-                                    WebPage.RENDER,
-                                    IdRepoEntitlement.USER_SEARCH);
-
-                            return panel;
-                        },
-                        pageRef);
+                    layout.getAnyPanelClass(),
+                    BaseModal.CONTENT_ID, userType, null, layout, false,
+                    (id, anyTypeTO, realmTO, anyLayout, pageRef) -> {
+                        String query = SyncopeClient.getUserSearchConditionBuilder().and(
+                            SyncopeClient.getUserSearchConditionBuilder().inRoles(model.getObject().getKey()),
+                            SyncopeClient.getUserSearchConditionBuilder().
+                                is(Constants.KEY_FIELD_NAME).notNullValue()).
+                            query();
+
+                        Panel panel = new UserDirectoryPanel.Builder(
+                            AnyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).
+                            setRealm(SyncopeConstants.ROOT_REALM).
+                            setFiltered(true).
+                            setFiql(query).
+                            disableCheckBoxes().
+                            addNewItemPanelBuilder(AnyLayoutUtils.newLayoutInfo(
+                                new UserTO(),
+                                anyTypeTO.getClasses(),
+                                anyLayout.getUser(),
+                                pageRef), false).
+                            setWizardInModal(false).build(id);
+
+                        MetaDataRoleAuthorizationStrategy.authorize(
+                            panel,
+                            WebPage.RENDER,
+                            IdRepoEntitlement.USER_SEARCH);
+
+                        return panel;
+                    },
+                    pageRef);
 
                 membersModal.header(new StringResourceModel("role.members", RoleDirectoryPanel.this, model));
                 membersModal.setContent(anyPanel);
@@ -202,20 +202,20 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
             }
         }, ActionLink.ActionType.MEMBERS, IdRepoEntitlement.USER_SEARCH);
 
-        panel.add(new ActionLink<RoleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final RoleTO ignore) {
                 AnyLayoutWrapper wrapper = new AnyLayoutWrapper(
-                        model.getObject().getKey(),
-                        AnyLayoutUtils.defaultIfEmpty(
-                                RoleRestClient.readAnyLayout(model.getObject().getKey()), AnyTypeRestClient.list()));
+                    model.getObject().getKey(),
+                    AnyLayoutUtils.defaultIfEmpty(
+                        RoleRestClient.readAnyLayout(model.getObject().getKey()), AnyTypeRestClient.list()));
 
                 utilityModal.header(new ResourceModel("console.layout.info", "JSON Content"));
                 utilityModal.setContent(new JsonEditorPanel(
-                        utilityModal, new PropertyModel<String>(wrapper, "content"), false, pageRef) {
+                    utilityModal, new PropertyModel<>(wrapper, "content"), false, pageRef) {
 
                     private static final long serialVersionUID = -8927036362466990179L;
 
@@ -237,7 +237,7 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleWrapper, Role
                 target.add(utilityModal);
             }
         }, ActionLink.ActionType.LAYOUT_EDIT, IdRepoEntitlement.ROLE_UPDATE);
-        panel.add(new ActionLink<RoleTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
index 636013b..45aefb9 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
@@ -125,8 +125,8 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
                 if (clazzField.getType().equals(Boolean.class) || clazzField.getType().equals(boolean.class)) {
                     columns.add(new BooleanPropertyColumn<>(new ResourceModel(field), field, field));
                 } else {
-                    IColumn<SchemaTO, String> column = new PropertyColumn<SchemaTO, String>(
-                            new ResourceModel(field), field, field) {
+                    IColumn<SchemaTO, String> column = new PropertyColumn<>(
+                        new ResourceModel(field), field, field) {
 
                         private static final long serialVersionUID = 3282547854226892169L;
 
@@ -135,8 +135,8 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
                             String css = super.getCssClass();
                             if (Constants.KEY_FIELD_NAME.equals(field)) {
                                 css = StringUtils.isBlank(css)
-                                        ? "col-xs-1"
-                                        : css + " col-xs-1";
+                                    ? "col-xs-1"
+                                    : css + " col-xs-1";
                             }
                             return css;
                         }
@@ -152,17 +152,17 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
     @Override
     public ActionsPanel<SchemaTO> getActions(final IModel<SchemaTO> model) {
         ActionsPanel<SchemaTO> panel = super.getActions(model);
-        panel.add(new ActionLink<SchemaTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final SchemaTO ignore) {
                 send(SchemaTypePanel.this, Broadcast.EXACT, new AjaxWizard.EditItemActionEvent<>(
-                        SchemaRestClient.read(schemaType, model.getObject().getKey()), target));
+                    SchemaRestClient.read(schemaType, model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.SCHEMA_UPDATE);
-        panel.add(new ActionLink<SchemaTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder.java
index 77366e6..121ea04 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder.java
@@ -140,79 +140,79 @@ public class SchemaTypeWizardBuilder extends BaseAjaxWizardBuilder<SchemaTO> {
                     (locale, display) -> translations.getObject().add(MutablePair.of(locale, display)));
 
             ListView<MutablePair<Locale, String>> labels =
-                    new ListView<MutablePair<Locale, String>>("labels", translations) {
+                new ListView<>("labels", translations) {
 
-                private static final long serialVersionUID = -8746795666847966508L;
+                    private static final long serialVersionUID = -8746795666847966508L;
 
-                @Override
-                protected void populateItem(final ListItem<MutablePair<Locale, String>> item) {
-                    MutablePair<Locale, String> entry = item.getModelObject();
-
-                    AjaxTextFieldPanel locale = new AjaxTextFieldPanel("locale", "locale", new Model<>(), true);
-                    locale.getField().setModel(new IModel<String>() {
-
-                        private static final long serialVersionUID = 1500045101360533133L;
-
-                        @Override
-                        public String getObject() {
-                            return entry.getLeft() == null ? null : entry.getLeft().toString();
-                        }
-
-                        @Override
-                        public void setObject(final String object) {
-                            entry.setLeft(LocaleUtils.toLocale(object));
-                        }
-                    });
-                    locale.setRequired(true).hideLabel();
-                    locale.setChoices(BaseLogin.SUPPORTED_LOCALES.stream().
+                    @Override
+                    protected void populateItem(final ListItem<MutablePair<Locale, String>> item) {
+                        MutablePair<Locale, String> entry = item.getModelObject();
+
+                        AjaxTextFieldPanel locale = new AjaxTextFieldPanel("locale", "locale", new Model<>(), true);
+                        locale.getField().setModel(new IModel<>() {
+
+                            private static final long serialVersionUID = 1500045101360533133L;
+
+                            @Override
+                            public String getObject() {
+                                return entry.getLeft() == null ? null : entry.getLeft().toString();
+                            }
+
+                            @Override
+                            public void setObject(final String object) {
+                                entry.setLeft(LocaleUtils.toLocale(object));
+                            }
+                        });
+                        locale.setRequired(true).hideLabel();
+                        locale.setChoices(BaseLogin.SUPPORTED_LOCALES.stream().
                             map(Objects::toString).collect(Collectors.toList()));
-                    locale.addValidator(validatable -> {
-                        try {
-                            LocaleUtils.toLocale(validatable.getValue());
-                        } catch (Exception e) {
-                            LOG.error("Invalid Locale: {}", validatable.getValue(), e);
-                            validatable.error(new ValidationError("Invalid Locale: " + validatable.getValue()));
-
-                            RequestCycle.get().find(AjaxRequestTarget.class).
+                        locale.addValidator(validatable -> {
+                            try {
+                                LocaleUtils.toLocale(validatable.getValue());
+                            } catch (Exception e) {
+                                LOG.error("Invalid Locale: {}", validatable.getValue(), e);
+                                validatable.error(new ValidationError("Invalid Locale: " + validatable.getValue()));
+
+                                RequestCycle.get().find(AjaxRequestTarget.class).
                                     ifPresent(target -> target.add(Labels.this));
-                        }
-                    });
-                    item.add(locale);
-
-                    AjaxTextFieldPanel display = new AjaxTextFieldPanel("display", "display", new Model<>());
-                    display.getField().setModel(new IModel<String>() {
-
-                        private static final long serialVersionUID = 1500045101360533133L;
-
-                        @Override
-                        public String getObject() {
-                            return entry.getRight();
-                        }
-
-                        @Override
-                        public void setObject(final String object) {
-                            entry.setRight(object);
-                        }
-                    });
-                    display.setRequired(true).hideLabel();
-                    item.add(display);
-
-                    ActionsPanel<Serializable> actions = new ActionsPanel<>("toRemove", null);
-                    actions.add(new ActionLink<Serializable>() {
-
-                        private static final long serialVersionUID = -3722207913631435501L;
-
-                        @Override
-                        public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
-                            translations.getObject().remove(item.getIndex());
-
-                            item.getParent().removeAll();
-                            target.add(Labels.this);
-                        }
-                    }, ActionLink.ActionType.DELETE, IdRepoEntitlement.SCHEMA_UPDATE, true).hideLabel();
-                    item.add(actions);
-                }
-            };
+                            }
+                        });
+                        item.add(locale);
+
+                        AjaxTextFieldPanel display = new AjaxTextFieldPanel("display", "display", new Model<>());
+                        display.getField().setModel(new IModel<>() {
+
+                            private static final long serialVersionUID = 1500045101360533133L;
+
+                            @Override
+                            public String getObject() {
+                                return entry.getRight();
+                            }
+
+                            @Override
+                            public void setObject(final String object) {
+                                entry.setRight(object);
+                            }
+                        });
+                        display.setRequired(true).hideLabel();
+                        item.add(display);
+
+                        ActionsPanel<Serializable> actions = new ActionsPanel<>("toRemove", null);
+                        actions.add(new ActionLink<>() {
+
+                            private static final long serialVersionUID = -3722207913631435501L;
+
+                            @Override
+                            public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
+                                translations.getObject().remove(item.getIndex());
+
+                                item.getParent().removeAll();
+                                target.add(Labels.this);
+                            }
+                        }, ActionLink.ActionType.DELETE, IdRepoEntitlement.SCHEMA_UPDATE, true).hideLabel();
+                        item.add(actions);
+                    }
+                };
             labels.setReuseItems(true);
             add(labels);
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
index a621bd3..024c9c2 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
@@ -124,17 +124,17 @@ public class SecurityQuestionsPanel extends DirectoryPanel<
     public ActionsPanel<SecurityQuestionTO> getActions(final IModel<SecurityQuestionTO> model) {
         ActionsPanel<SecurityQuestionTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<SecurityQuestionTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final SecurityQuestionTO ignore) {
                 send(SecurityQuestionsPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                    new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.SECURITY_QUESTION_UPDATE);
-        panel.add(new ActionLink<SecurityQuestionTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
index fdf5b9b..51d8e2c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/TypeExtensionDirectoryPanel.java
@@ -137,17 +137,17 @@ public class TypeExtensionDirectoryPanel
         final ActionsPanel<TypeExtensionTO> panel = super.getActions(model);
         final TypeExtensionTO typeExtension = model.getObject();
 
-        panel.add(new ActionLink<TypeExtensionTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final TypeExtensionTO ignore) {
                 send(TypeExtensionDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(typeExtension, target));
+                    new AjaxWizard.EditItemActionEvent<>(typeExtension, target));
             }
         }, ActionLink.ActionType.EDIT, StringUtils.EMPTY);
-        panel.add(new ActionLink<TypeExtensionTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
index 1da79f4..2a6dc1d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
@@ -101,14 +101,14 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
     public ActionsPanel<Serializable> getHeader(final String componentId) {
         final ActionsPanel<Serializable> panel = super.getHeader(componentId);
 
-        panel.add(new ActionLink<Serializable>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
                 target.add(displayAttributeModal.setContent(new UserDisplayAttributesModalPanel<>(
-                        displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames)));
+                    displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames)));
 
                 displayAttributeModal.header(new ResourceModel("any.attr.display"));
                 displayAttributeModal.addSubmitButton();
@@ -127,22 +127,22 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
     public ActionsPanel<UserTO> getActions(final IModel<UserTO> model) {
         final ActionsPanel<UserTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<UserTO>() {
+        panel.add(new ActionLink<>() {
 
-            private static final long serialVersionUID = -7978723352517770644L;
+                      private static final long serialVersionUID = -7978723352517770644L;
 
-            @Override
-            public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
-                send(UserDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                new UserWrapper(new UserRestClient().read(model.getObject().getKey())),
-                                target));
-            }
-        }, ActionType.EDIT,
+                      @Override
+                      public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
+                          send(UserDirectoryPanel.this, Broadcast.EXACT,
+                              new AjaxWizard.EditItemActionEvent<>(
+                                  new UserWrapper(new UserRestClient().read(model.getObject().getKey())),
+                                  target));
+                      }
+                  }, ActionType.EDIT,
                 String.format("%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.USER_UPDATE)).
                 setRealms(realm, model.getObject().getDynRealms());
 
-        panel.add(new ActionLink<UserTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -151,9 +151,9 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
                 try {
                     model.setObject(restClient.read(model.getObject().getKey()));
                     restClient.mustChangePassword(
-                            model.getObject().getETagValue(),
-                            !model.getObject().isMustChangePassword(),
-                            model.getObject().getKey());
+                        model.getObject().getETagValue(),
+                        !model.getObject().isMustChangePassword(),
+                        model.getObject().getKey());
 
                     SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
                     target.add(container);
@@ -167,7 +167,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
                 setRealms(realm, model.getObject().getDynRealms());
 
         if (wizardInModal) {
-            panel.add(new ActionLink<UserTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -4875218360625971340L;
 
@@ -175,16 +175,16 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
                 public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                     model.setObject(restClient.read(model.getObject().getKey()));
                     IModel<AnyWrapper<UserTO>> formModel = new CompoundPropertyModel<>(
-                            new AnyWrapper<>(model.getObject()));
+                        new AnyWrapper<>(model.getObject()));
                     displayAttributeModal.setFormModel(formModel);
 
                     target.add(displayAttributeModal.setContent(new ChangePasswordModal(
-                            displayAttributeModal,
-                            pageRef,
-                            new UserWrapper(model.getObject()))));
+                        displayAttributeModal,
+                        pageRef,
+                        new UserWrapper(model.getObject()))));
 
                     displayAttributeModal.header(new Model<>(
-                            getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
+                        getString("any.edit", new Model<>(new AnyWrapper<>(model.getObject())))));
 
                     displayAttributeModal.show(true);
                 }
@@ -193,7 +193,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
 
             PlatformInfo platformInfo = SyncopeConsoleSession.get().getAnonymousClient().platform();
             if (platformInfo.isPwdResetAllowed() && !platformInfo.isPwdResetRequiringSecurityQuestions()) {
-                panel.add(new ActionLink<UserTO>() {
+                panel.add(new ActionLink<>() {
 
                     private static final long serialVersionUID = -7978723352517770644L;
 
@@ -201,7 +201,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
                     public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                         try {
                             SyncopeConsoleSession.get().getAnonymousClient().getService(UserSelfService.class).
-                                    requestPasswordReset(model.getObject().getUsername(), null);
+                                requestPasswordReset(model.getObject().getUsername(), null);
 
                             SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
                             target.add(container);
@@ -223,28 +223,28 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
                     this,
                     pageRef).forEach(panel::add);
 
-            panel.add(new ActionLink<UserTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                     target.add(utilityModal.setContent(new AnyPropagationTasks(
-                            utilityModal, AnyTypeKind.USER, model.getObject().getKey(), pageRef)));
+                        utilityModal, AnyTypeKind.USER, model.getObject().getKey(), pageRef)));
 
                     utilityModal.header(new StringResourceModel("any.propagation.tasks", model));
                     utilityModal.show(true);
                 }
             }, ActionType.PROPAGATION_TASKS, IdRepoEntitlement.TASK_LIST);
 
-            panel.add(new ActionLink<UserTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
                     target.add(utilityModal.setContent(
-                            new NotificationTasks(AnyTypeKind.USER, model.getObject().getKey(), pageRef)));
+                        new NotificationTasks(AnyTypeKind.USER, model.getObject().getKey(), pageRef)));
                     utilityModal.header(new StringResourceModel("any.notification.tasks", model));
                     utilityModal.show(true);
                     target.add(utilityModal);
@@ -253,64 +253,64 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
         }
 
         if (wizardInModal) {
-            panel.add(new ActionLink<UserTO>() {
-
-                private static final long serialVersionUID = -1978723352517770644L;
-
-                @Override
-                public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
-                    model.setObject(restClient.read(model.getObject().getKey()));
-                    target.add(altDefaultModal.setContent(new AuditHistoryModal<UserTO>(
-                            altDefaultModal,
-                            AuditElements.EventCategoryType.LOGIC,
-                            "UserLogic",
-                            model.getObject(),
-                            IdRepoEntitlement.USER_UPDATE,
-                            pageRef) {
-
-                        private static final long serialVersionUID = 959378158400669867L;
-
-                        @Override
-                        protected void restore(final String json, final AjaxRequestTarget target) {
-                            // The original audit record masks the password and the security
-                            // answer; so we cannot use the audit record to resurrect the entry
-                            // based on mask data.
-                            //
-                            // The method behavior below will reset the audit record such
-                            // that the current security answer and the password for the object
-                            // are always maintained, and such properties for the
-                            // user cannot be restored using audit records.
-                            UserTO original = model.getObject();
-                            try {
-                                UserTO updated = MAPPER.readValue(json, UserTO.class);
-                                UserUR updateReq = AnyOperations.diff(updated, original, false);
-                                updateReq.setPassword(null);
-                                updateReq.setSecurityAnswer(null);
-                                ProvisioningResult<UserTO> result =
-                                        restClient.update(original.getETagValue(), updateReq);
-                                model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
-
-                                SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
-                                target.add(container);
-                            } catch (Exception e) {
-                                LOG.error("While restoring user {}", model.getObject().getKey(), e);
-                                SyncopeConsoleSession.get().onException(e);
-                            }
-                            ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
-                        }
-                    }));
-
-                    altDefaultModal.header(new Model<>(
-                            getString("auditHistory.title", new Model<>(new AnyWrapper<>(model.getObject())))));
-
-                    altDefaultModal.show(true);
-                }
-            }, ActionType.VIEW_AUDIT_HISTORY,
+            panel.add(new ActionLink<>() {
+
+                          private static final long serialVersionUID = -1978723352517770644L;
+
+                          @Override
+                          public void onClick(final AjaxRequestTarget target, final UserTO ignore) {
+                              model.setObject(restClient.read(model.getObject().getKey()));
+                              target.add(altDefaultModal.setContent(new AuditHistoryModal<>(
+                                  altDefaultModal,
+                                  AuditElements.EventCategoryType.LOGIC,
+                                  "UserLogic",
+                                  model.getObject(),
+                                  IdRepoEntitlement.USER_UPDATE,
+                                  pageRef) {
+
+                                  private static final long serialVersionUID = 959378158400669867L;
+
+                                  @Override
+                                  protected void restore(final String json, final AjaxRequestTarget target) {
+                                      // The original audit record masks the password and the security
+                                      // answer; so we cannot use the audit record to resurrect the entry
+                                      // based on mask data.
+                                      //
+                                      // The method behavior below will reset the audit record such
+                                      // that the current security answer and the password for the object
+                                      // are always maintained, and such properties for the
+                                      // user cannot be restored using audit records.
+                                      UserTO original = model.getObject();
+                                      try {
+                                          UserTO updated = MAPPER.readValue(json, UserTO.class);
+                                          UserUR updateReq = AnyOperations.diff(updated, original, false);
+                                          updateReq.setPassword(null);
+                                          updateReq.setSecurityAnswer(null);
+                                          ProvisioningResult<UserTO> result =
+                                              restClient.update(original.getETagValue(), updateReq);
+                                          model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate());
+
+                                          SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
+                                          target.add(container);
+                                      } catch (Exception e) {
+                                          LOG.error("While restoring user {}", model.getObject().getKey(), e);
+                                          SyncopeConsoleSession.get().onException(e);
+                                      }
+                                      ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                                  }
+                              }));
+
+                              altDefaultModal.header(new Model<>(
+                                  getString("auditHistory.title", new Model<>(new AnyWrapper<>(model.getObject())))));
+
+                              altDefaultModal.show(true);
+                          }
+                      }, ActionType.VIEW_AUDIT_HISTORY,
                     String.format("%s,%s", IdRepoEntitlement.USER_READ, IdRepoEntitlement.AUDIT_LIST)).
                     setRealms(realm, model.getObject().getDynRealms());
         }
 
-        panel.add(new ActionLink<UserTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
@@ -320,7 +320,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
                 clone.setKey(null);
                 clone.setUsername(model.getObject().getUsername() + "_clone");
                 send(UserDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.NewItemActionEvent<>(new UserWrapper(clone), target));
+                    new AjaxWizard.NewItemActionEvent<>(new UserWrapper(clone), target));
             }
 
             @Override
@@ -329,7 +329,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
             }
         }, ActionType.CLONE, IdRepoEntitlement.USER_CREATE).setRealm(realm);
 
-        panel.add(new ActionLink<UserTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
index 5dff765..5cf2392 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
@@ -144,7 +144,7 @@ public abstract class AbstractSearchPanel extends Panel {
 
         Pair<IModel<List<String>>, IModel<Integer>> groupInfo =
                 typeKind != AnyTypeKind.GROUP && SyncopeConsoleSession.get().owns(IdRepoEntitlement.GROUP_SEARCH)
-                ? Pair.of(groupNames, new LoadableDetachableModel<Integer>() {
+                ? Pair.of(groupNames, new LoadableDetachableModel<>() {
 
                     private static final long serialVersionUID = 7362833782319137329L;
 
@@ -165,7 +165,7 @@ public abstract class AbstractSearchPanel extends Panel {
             searchClausePanel.enableSearch(builder.resultContainer);
         }
 
-        MultiFieldPanel.Builder<SearchClause> searchView = new MultiFieldPanel.Builder<SearchClause>(model) {
+        MultiFieldPanel.Builder<SearchClause> searchView = new MultiFieldPanel.Builder<>(model) {
 
             private static final long serialVersionUID = 1343431509987473047L;
 
@@ -179,7 +179,7 @@ public abstract class AbstractSearchPanel extends Panel {
     }
 
     protected void populate() {
-        dnames = new LoadableDetachableModel<Map<String, PlainSchemaTO>>() {
+        dnames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -187,15 +187,15 @@ public abstract class AbstractSearchPanel extends Panel {
             protected Map<String, PlainSchemaTO> load() {
                 Map<String, PlainSchemaTO> dSchemaNames = new HashMap<>();
                 SearchableFields.get(typeKind.getTOClass()).forEach((key, type) -> {
-                            PlainSchemaTO plain = new PlainSchemaTO();
-                            plain.setType(type);
-                            dSchemaNames.put(key, plain);
-                        });
+                    PlainSchemaTO plain = new PlainSchemaTO();
+                    plain.setType(type);
+                    dSchemaNames.put(key, plain);
+                });
                 return dSchemaNames;
             }
         };
 
-        resourceNames = new LoadableDetachableModel<List<String>>() {
+        resourceNames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
index 4d0ce81..d1c22c6 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
@@ -29,6 +29,7 @@ import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.syncope.common.lib.to.GroupTO;
 import org.apache.syncope.common.lib.to.PlainSchemaTO;
+import org.apache.syncope.common.lib.to.SchemaTO;
 import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
@@ -68,7 +69,7 @@ public class AnyObjectSearchPanel extends AbstractSearchPanel {
     protected void populate() {
         super.populate();
 
-        this.types = new LoadableDetachableModel<List<SearchClause.Type>>() {
+        this.types = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -78,31 +79,31 @@ public class AnyObjectSearchPanel extends AbstractSearchPanel {
             }
         };
 
-        this.groupNames = new LoadableDetachableModel<List<String>>() {
+        this.groupNames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return groupRestClient.search(
-                        SyncopeConstants.ROOT_REALM,
-                        null,
-                        1,
-                        Constants.MAX_GROUP_LIST_SIZE,
-                        new SortParam<>(Constants.NAME_FIELD_NAME, true),
-                        null).stream().map(GroupTO::getName).collect(Collectors.toList());
+                    SyncopeConstants.ROOT_REALM,
+                    null,
+                    1,
+                    Constants.MAX_GROUP_LIST_SIZE,
+                    new SortParam<>(Constants.NAME_FIELD_NAME, true),
+                    null).stream().map(GroupTO::getName).collect(Collectors.toList());
             }
         };
 
-        this.anames = new LoadableDetachableModel<Map<String, PlainSchemaTO>>() {
+        this.anames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected Map<String, PlainSchemaTO> load() {
                 return SchemaRestClient.<PlainSchemaTO>getSchemas(
-                        SchemaType.PLAIN, null, AnyTypeRestClient.read(type).getClasses().toArray(new String[] {})).
-                        stream().collect(Collectors.toMap(schema -> schema.getKey(), Function.identity()));
+                    SchemaType.PLAIN, null, AnyTypeRestClient.read(type).getClasses().toArray(new String[]{})).
+                    stream().collect(Collectors.toMap(SchemaTO::getKey, Function.identity()));
             }
         };
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnySelectionDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnySelectionDirectoryPanel.java
index 784032f..672287e 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnySelectionDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/AnySelectionDirectoryPanel.java
@@ -54,14 +54,14 @@ public abstract class AnySelectionDirectoryPanel<A extends AnyTO, E extends Abst
     public ActionsPanel<A> getActions(final IModel<A> model) {
         final ActionsPanel<A> panel = super.getActions(model);
 
-        panel.add(new ActionLink<A>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final A ignore) {
                 send(AnySelectionDirectoryPanel.this,
-                        Broadcast.BUBBLE, new ItemSelection<>(target, model.getObject()));
+                    Broadcast.BUBBLE, new ItemSelection<>(target, model.getObject()));
             }
         }, ActionType.SELECT, AnyEntitlement.READ.getFor(type));
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSearchPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSearchPanel.java
index 1dfeb5e..80ae8e4 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSearchPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/GroupSearchPanel.java
@@ -26,6 +26,7 @@ import java.util.stream.Collectors;
 import org.apache.syncope.client.console.rest.AnyTypeRestClient;
 import org.apache.syncope.client.console.rest.SchemaRestClient;
 import org.apache.syncope.common.lib.to.PlainSchemaTO;
+import org.apache.syncope.common.lib.to.SchemaTO;
 import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.wicket.model.IModel;
@@ -57,7 +58,7 @@ public class GroupSearchPanel extends AbstractSearchPanel {
     protected void populate() {
         super.populate();
 
-        this.types = new LoadableDetachableModel<List<SearchClause.Type>>() {
+        this.types = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -71,7 +72,7 @@ public class GroupSearchPanel extends AbstractSearchPanel {
             }
         };
 
-        this.groupNames = new LoadableDetachableModel<List<String>>() {
+        this.groupNames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -81,15 +82,15 @@ public class GroupSearchPanel extends AbstractSearchPanel {
             }
         };
 
-        this.anames = new LoadableDetachableModel<Map<String, PlainSchemaTO>>() {
+        this.anames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected Map<String, PlainSchemaTO> load() {
                 return SchemaRestClient.<PlainSchemaTO>getSchemas(
-                        SchemaType.PLAIN, null, AnyTypeRestClient.read(type).getClasses().toArray(new String[] {})).
-                        stream().collect(Collectors.toMap(schema -> schema.getKey(), Function.identity()));
+                    SchemaType.PLAIN, null, AnyTypeRestClient.read(type).getClasses().toArray(new String[]{})).
+                    stream().collect(Collectors.toMap(SchemaTO::getKey, Function.identity()));
             }
         };
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
index d15188a..ad11b02 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java
@@ -198,7 +198,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
         this.privilegeNames = privilegeNames;
         this.resourceNames = resourceNames;
 
-        searchButton = new AjaxLink<Void>("search") {
+        searchButton = new AjaxLink<>("search") {
 
             private static final long serialVersionUID = 5538299138211283825L;
 
@@ -217,14 +217,14 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
 
         operatorFragment = new Fragment("operator", "operatorFragment", this);
 
-        field = new FormComponent<SearchClause>("container", this.clause) {
+        field = new FormComponent<>("container", this.clause) {
 
             private static final long serialVersionUID = -8204140666393922700L;
 
         };
         add(field);
 
-        comparators = new LoadableDetachableModel<List<Comparator>>() {
+        comparators = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -244,15 +244,15 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
                     case GROUP_MEMBER:
                     case RESOURCE:
                         return List.of(
-                                SearchClause.Comparator.EQUALS,
-                                SearchClause.Comparator.NOT_EQUALS);
+                            SearchClause.Comparator.EQUALS,
+                            SearchClause.Comparator.NOT_EQUALS);
 
                     case RELATIONSHIP:
                         return List.of(
-                                SearchClause.Comparator.IS_NOT_NULL,
-                                SearchClause.Comparator.IS_NULL,
-                                SearchClause.Comparator.EQUALS,
-                                SearchClause.Comparator.NOT_EQUALS);
+                            SearchClause.Comparator.IS_NOT_NULL,
+                            SearchClause.Comparator.IS_NULL,
+                            SearchClause.Comparator.EQUALS,
+                            SearchClause.Comparator.NOT_EQUALS);
 
                     case CUSTOM:
                         return customizer.comparators();
@@ -263,7 +263,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
             }
         };
 
-        properties = new LoadableDetachableModel<List<String>>() {
+        properties = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -286,19 +286,19 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
 
                     case ROLE_MEMBERSHIP:
                         return roleNames.getObject().stream().
-                                sorted().collect(Collectors.toList());
+                            sorted().collect(Collectors.toList());
 
                     case PRIVILEGE:
                         return privilegeNames.getObject().stream().
-                                sorted().collect(Collectors.toList());
+                            sorted().collect(Collectors.toList());
 
                     case RESOURCE:
                         return resourceNames.getObject().stream().
-                                sorted().collect(Collectors.toList());
+                            sorted().collect(Collectors.toList());
 
                     case RELATIONSHIP:
                         return RelationshipTypeRestClient.list().stream().
-                                map(RelationshipTypeTO::getKey).collect(Collectors.toList());
+                            map(RelationshipTypeTO::getKey).collect(Collectors.toList());
 
                     case CUSTOM:
                         return customizer.properties();
@@ -380,7 +380,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
                 withOffStyle(BootstrapToggleConfig.Style.warning).
                 withSize(BootstrapToggleConfig.Size.mini);
 
-        operatorFragment.add(new BootstrapToggle("operator", new Model<Boolean>() {
+        operatorFragment.add(new BootstrapToggle("operator", new Model<>() {
 
             private static final long serialVersionUID = -7157802546272668001L;
 
@@ -676,7 +676,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
     }
 
     private IChoiceRenderer<SearchClause.Comparator> getComparatorRender(final IModel<SearchClause> clause) {
-        return new IChoiceRenderer<SearchClause.Comparator>() {
+        return new IChoiceRenderer<>() {
 
             private static final long serialVersionUID = -9086043750227867686L;
 
@@ -815,7 +815,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> {
 
             @Override
             public SearchClause.Comparator getObject(
-                    final String id, final IModel<? extends List<? extends SearchClause.Comparator>> choices) {
+                final String id, final IModel<? extends List<? extends SearchClause.Comparator>> choices) {
 
                 if (id == null) {
                     return SearchClause.Comparator.EQUALS;
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
index 8baa82d..57e8a60 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java
@@ -54,7 +54,7 @@ public final class SearchUtils implements Serializable {
 
     private static final Logger LOG = LoggerFactory.getLogger(SearchUtils.class);
 
-    private static final BidiMap<String, String> ENCODINGS = new DualHashBidiMap<String, String>() {
+    private static final BidiMap<String, String> ENCODINGS = new DualHashBidiMap<>() {
 
         private static final long serialVersionUID = 5636572627689425575L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
index 1f8f982..9b38f4d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
@@ -54,7 +54,7 @@ public class UserSearchPanel extends AnyObjectSearchPanel {
     protected void populate() {
         super.populate();
 
-        this.roleNames = new LoadableDetachableModel<List<String>>() {
+        this.roleNames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -64,15 +64,15 @@ public class UserSearchPanel extends AnyObjectSearchPanel {
             }
         };
 
-        this.privilegeNames = new LoadableDetachableModel<List<String>>() {
+        this.privilegeNames = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
             @Override
             protected List<String> load() {
                 return ApplicationRestClient.list().stream().
-                        flatMap(application -> application.getPrivileges().stream()).
-                        map(EntityTO::getKey).collect(Collectors.toList());
+                    flatMap(application -> application.getPrivileges().stream()).
+                    map(EntityTO::getKey).collect(Collectors.toList());
             }
         };
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/AccountPolicyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/AccountPolicyDirectoryPanel.java
index c2f7536..dd5747c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/AccountPolicyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/AccountPolicyDirectoryPanel.java
@@ -65,20 +65,20 @@ public class AccountPolicyDirectoryPanel extends PolicyDirectoryPanel<AccountPol
 
     @Override
     protected void addCustomActions(final ActionsPanel<AccountPolicyTO> panel, final IModel<AccountPolicyTO> model) {
-        panel.add(new ActionLink<AccountPolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final AccountPolicyTO ignore) {
                 target.add(ruleCompositionModal.setContent(new PolicyRuleDirectoryPanel<>(
-                        ruleCompositionModal, model.getObject().getKey(), PolicyType.ACCOUNT, pageRef)));
+                    ruleCompositionModal, model.getObject().getKey(), PolicyType.ACCOUNT, pageRef)));
 
                 ruleCompositionModal.header(new StringResourceModel(
-                        "policy.rules", AccountPolicyDirectoryPanel.this, model));
+                    "policy.rules", AccountPolicyDirectoryPanel.this, model));
 
                 MetaDataRoleAuthorizationStrategy.authorize(
-                        ruleCompositionModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
+                    ruleCompositionModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
 
                 ruleCompositionModal.show(true);
             }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PasswordPolicyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PasswordPolicyDirectoryPanel.java
index ecb7b80..409e0bc 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PasswordPolicyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PasswordPolicyDirectoryPanel.java
@@ -62,20 +62,20 @@ public class PasswordPolicyDirectoryPanel extends PolicyDirectoryPanel<PasswordP
 
     @Override
     protected void addCustomActions(final ActionsPanel<PasswordPolicyTO> panel, final IModel<PasswordPolicyTO> model) {
-        panel.add(new ActionLink<PasswordPolicyTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final PasswordPolicyTO ignore) {
                 target.add(ruleCompositionModal.setContent(new PolicyRuleDirectoryPanel<>(
-                        ruleCompositionModal, model.getObject().getKey(), PolicyType.PASSWORD, pageRef)));
+                    ruleCompositionModal, model.getObject().getKey(), PolicyType.PASSWORD, pageRef)));
 
                 ruleCompositionModal.header(new StringResourceModel(
-                        "policy.rules", PasswordPolicyDirectoryPanel.this, Model.of(model.getObject())));
+                    "policy.rules", PasswordPolicyDirectoryPanel.this, Model.of(model.getObject())));
 
                 MetaDataRoleAuthorizationStrategy.authorize(
-                        ruleCompositionModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
+                    ruleCompositionModal.getForm(), ENABLE, IdRepoEntitlement.POLICY_UPDATE);
 
                 ruleCompositionModal.show(true);
             }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
index ea16fe5..db1a5f4 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
@@ -63,7 +63,7 @@ public abstract class PolicyDirectoryPanel<T extends PolicyTO>
 
     private static final long serialVersionUID = 4984337552918213290L;
 
-    protected final BaseModal<T> ruleCompositionModal = new BaseModal<T>(Constants.OUTER) {
+    protected final BaseModal<T> ruleCompositionModal = new BaseModal<>(Constants.OUTER) {
 
         private static final long serialVersionUID = 389935548143327858L;
 
@@ -130,19 +130,19 @@ public abstract class PolicyDirectoryPanel<T extends PolicyTO>
     public ActionsPanel<T> getActions(final IModel<T> model) {
         ActionsPanel<T> panel = super.getActions(model);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final PolicyTO ignore) {
                 send(PolicyDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                PolicyRestClient.read(type, model.getObject().getKey()), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        PolicyRestClient.read(type, model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.POLICY_UPDATE);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -151,13 +151,13 @@ public abstract class PolicyDirectoryPanel<T extends PolicyTO>
                 final PolicyTO clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(PolicyDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(clone, target));
+                    new AjaxWizard.EditItemActionEvent<>(clone, target));
             }
         }, ActionLink.ActionType.CLONE, IdRepoEntitlement.POLICY_CREATE);
 
         addCustomActions(panel, model);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
index 671a2b3..812506c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyModalPanelBuilder.java
@@ -75,7 +75,7 @@ public class PolicyModalPanelBuilder<T extends PolicyTO> extends AbstractModalPa
 
         private final T policyTO;
 
-        private final LoadableDetachableModel<List<String>> resources = new LoadableDetachableModel<List<String>>() {
+        private final LoadableDetachableModel<List<String>> resources = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -157,7 +157,7 @@ public class PolicyModalPanelBuilder<T extends PolicyTO> extends AbstractModalPa
                 default:
             }
 
-            add(new ListView<Component>("fields", fields) {
+            add(new ListView<>("fields", fields) {
 
                 private static final long serialVersionUID = -9180479401817023838L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleDirectoryPanel.java
index 4b66963..ea32aae 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleDirectoryPanel.java
@@ -113,16 +113,16 @@ public class PolicyRuleDirectoryPanel<T extends PolicyTO> extends DirectoryPanel
         columns.add(new PropertyColumn<>(
                 new StringResourceModel("rule", this), "implementationKey", "implementationKey"));
 
-        columns.add(new AbstractColumn<PolicyRuleWrapper, String>(
-                new StringResourceModel("configuration", this)) {
+        columns.add(new AbstractColumn<>(
+            new StringResourceModel("configuration", this)) {
 
             private static final long serialVersionUID = -4008579357070833846L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<PolicyRuleWrapper>> cellItem,
-                    final String componentId,
-                    final IModel<PolicyRuleWrapper> rowModel) {
+                final Item<ICellPopulator<PolicyRuleWrapper>> cellItem,
+                final String componentId,
+                final IModel<PolicyRuleWrapper> rowModel) {
 
                 if (rowModel.getObject().getConf() == null) {
                     cellItem.add(new Label(componentId, ""));
@@ -138,7 +138,7 @@ public class PolicyRuleDirectoryPanel<T extends PolicyTO> extends DirectoryPanel
     public ActionsPanel<PolicyRuleWrapper> getActions(final IModel<PolicyRuleWrapper> model) {
         final ActionsPanel<PolicyRuleWrapper> panel = super.getActions(model);
 
-        panel.add(new ActionLink<PolicyRuleWrapper>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -150,11 +150,11 @@ public class PolicyRuleDirectoryPanel<T extends PolicyTO> extends DirectoryPanel
                     ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target);
                 } else {
                     send(PolicyRuleDirectoryPanel.this, Broadcast.EXACT,
-                            new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
                 }
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.POLICY_UPDATE);
-        panel.add(new ActionLink<PolicyRuleWrapper>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -185,7 +185,7 @@ public class PolicyRuleDirectoryPanel<T extends PolicyTO> extends DirectoryPanel
     public ActionsPanel<Serializable> getHeader(final String componentId) {
         final ActionsPanel<Serializable> panel = new ActionsPanel<>(componentId, null);
 
-        panel.add(new ActionLink<Serializable>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleWizardBuilder.java
index 25c2300..7bad87d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyRuleWizardBuilder.java
@@ -176,7 +176,7 @@ public class PolicyRuleWizardBuilder extends BaseAjaxWizardBuilder<PolicyRuleWra
         private static final long serialVersionUID = -785981096328637758L;
 
         public Configuration(final PolicyRuleWrapper rule) {
-            LoadableDetachableModel<Serializable> bean = new LoadableDetachableModel<Serializable>() {
+            LoadableDetachableModel<Serializable> bean = new LoadableDetachableModel<>() {
 
                 private static final long serialVersionUID = 2092144708018739371L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java
index 8f99942..d90efdf 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java
@@ -129,24 +129,24 @@ public abstract class ReportDirectoryPanel
         columns.add(new BooleanPropertyColumn<>(
                 new StringResourceModel("active", this), "active", "active"));
 
-        columns.add(new AbstractColumn<ReportTO, String>(new Model<>(""), "running") {
+        columns.add(new AbstractColumn<>(new Model<>(""), "running") {
 
             private static final long serialVersionUID = 4209532514416998046L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<ReportTO>> cellItem,
-                    final String componentId,
-                    final IModel<ReportTO> rowModel) {
+                final Item<ICellPopulator<ReportTO>> cellItem,
+                final String componentId,
+                final IModel<ReportTO> rowModel) {
 
                 Component panel;
                 try {
                     JobTO jobTO = ReportRestClient.getJob(rowModel.getObject().getKey());
                     panel = new JobActionPanel(componentId, jobTO, false, ReportDirectoryPanel.this);
                     MetaDataRoleAuthorizationStrategy.authorize(panel, WebPage.ENABLE,
-                            String.format("%s,%s",
-                                    IdRepoEntitlement.REPORT_EXECUTE,
-                                    IdRepoEntitlement.REPORT_UPDATE));
+                        String.format("%s,%s",
+                            IdRepoEntitlement.REPORT_EXECUTE,
+                            IdRepoEntitlement.REPORT_UPDATE));
                 } catch (Exception e) {
                     LOG.error("Could not get job for report {}", rowModel.getObject().getKey(), e);
                     panel = new Label(componentId, Model.of());
@@ -177,19 +177,19 @@ public abstract class ReportDirectoryPanel
     public ActionsPanel<ReportTO> getActions(final IModel<ReportTO> model) {
         final ActionsPanel<ReportTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<ReportTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ReportTO ignore) {
                 send(ReportDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                ReportRestClient.read(model.getObject().getKey()), target));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        ReportRestClient.read(model.getObject().getKey()), target));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.REPORT_UPDATE);
 
-        panel.add(new ActionLink<ReportTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -198,26 +198,26 @@ public abstract class ReportDirectoryPanel
                 final ReportTO clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(ReportDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(clone, target));
+                    new AjaxWizard.EditItemActionEvent<>(clone, target));
             }
         }, ActionLink.ActionType.CLONE, IdRepoEntitlement.REPORT_CREATE);
 
-        panel.add(new ActionLink<ReportTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ReportTO ignore) {
                 target.add(modal.setContent(new ReportletDirectoryPanel(
-                        modal, model.getObject().getKey(), pageRef)));
+                    modal, model.getObject().getKey(), pageRef)));
 
                 modal.header(new StringResourceModel(
-                        "reportlet.conf", ReportDirectoryPanel.this, Model.of(model.getObject())));
+                    "reportlet.conf", ReportDirectoryPanel.this, Model.of(model.getObject())));
                 modal.show(true);
             }
         }, ActionLink.ActionType.COMPOSE, IdRepoEntitlement.REPORT_UPDATE);
 
-        panel.add(new ActionLink<ReportTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -227,19 +227,19 @@ public abstract class ReportDirectoryPanel
             }
         }, ActionLink.ActionType.VIEW_EXECUTIONS, IdRepoEntitlement.REPORT_READ);
 
-        panel.add(new ActionLink<ReportTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ReportTO ignore) {
                 startAt.setExecutionDetail(
-                        model.getObject().getKey(), model.getObject().getName(), target);
+                    model.getObject().getKey(), model.getObject().getName(), target);
                 startAt.toggle(target, true);
             }
         }, ActionLink.ActionType.EXECUTE, IdRepoEntitlement.REPORT_EXECUTE);
 
-        panel.add(new ActionLink<ReportTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportExecutionDetails.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportExecutionDetails.java
index 5d820e0..fb72467 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportExecutionDetails.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportExecutionDetails.java
@@ -80,62 +80,62 @@ public class ReportExecutionDetails extends MultilevelPanel.SecondLevel {
 
         @Override
         protected void addFurtherActions(final ActionsPanel<ExecTO> panel, final IModel<ExecTO> model) {
-            panel.add(new ActionLink<ExecTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -3722207913631435501L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final ExecTO ignore) {
                     downloadBehavior.setResponse(new ResponseHolder(ReportRestClient.exportExecutionResult(
-                            model.getObject().getKey(), ReportExecExportFormat.CSV)));
+                        model.getObject().getKey(), ReportExecExportFormat.CSV)));
                     downloadBehavior.initiate(target);
                 }
             }, ActionLink.ActionType.EXPORT_CSV, IdRepoEntitlement.REPORT_READ);
 
-            panel.add(new ActionLink<ExecTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -3722207913631435501L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final ExecTO ignore) {
                     downloadBehavior.setResponse(new ResponseHolder(ReportRestClient.exportExecutionResult(
-                            model.getObject().getKey(), ReportExecExportFormat.HTML)));
+                        model.getObject().getKey(), ReportExecExportFormat.HTML)));
                     downloadBehavior.initiate(target);
                 }
             }, ActionLink.ActionType.EXPORT_HTML, IdRepoEntitlement.REPORT_READ);
 
-            panel.add(new ActionLink<ExecTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -3722207913631435501L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final ExecTO ignore) {
                     downloadBehavior.setResponse(new ResponseHolder(ReportRestClient.exportExecutionResult(
-                            model.getObject().getKey(), ReportExecExportFormat.PDF)));
+                        model.getObject().getKey(), ReportExecExportFormat.PDF)));
                     downloadBehavior.initiate(target);
                 }
             }, ActionLink.ActionType.EXPORT_PDF, IdRepoEntitlement.REPORT_READ);
 
-            panel.add(new ActionLink<ExecTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -3722207913631435501L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final ExecTO ignore) {
                     downloadBehavior.setResponse(new ResponseHolder(ReportRestClient.exportExecutionResult(
-                            model.getObject().getKey(), ReportExecExportFormat.RTF)));
+                        model.getObject().getKey(), ReportExecExportFormat.RTF)));
                     downloadBehavior.initiate(target);
                 }
             }, ActionLink.ActionType.EXPORT_RTF, IdRepoEntitlement.REPORT_READ);
 
-            panel.add(new ActionLink<ExecTO>() {
+            panel.add(new ActionLink<>() {
 
                 private static final long serialVersionUID = -3722207913631435501L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target, final ExecTO ignore) {
                     downloadBehavior.setResponse(new ResponseHolder(ReportRestClient.exportExecutionResult(
-                            model.getObject().getKey(), ReportExecExportFormat.XML)));
+                        model.getObject().getKey(), ReportExecExportFormat.XML)));
                     downloadBehavior.initiate(target);
                 }
             }, ActionLink.ActionType.EXPORT_XML, IdRepoEntitlement.REPORT_READ);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
index 6e50db9..bd4f3ed 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
@@ -113,16 +113,16 @@ public class ReportTemplateDirectoryPanel
     public ActionsPanel<ReportTemplateTO> getActions(final IModel<ReportTemplateTO> model) {
         final ActionsPanel<ReportTemplateTO> panel = super.getActions(model);
 
-        panel.add(new ActionLink<ReportTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ReportTemplateTO ignore) {
                 TemplateContent<ReportTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
-                        ReportTemplateFormat.FO);
+                    ReportTemplateFormat.FO);
                 content.setContent(
-                        restClient.readTemplateFormat(model.getObject().getKey(), ReportTemplateFormat.FO));
+                    restClient.readTemplateFormat(model.getObject().getKey(), ReportTemplateFormat.FO));
 
                 utilityModal.header(new ResourceModel("report.template.fo", "XSLT for XSL-FO"));
                 utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
@@ -131,16 +131,16 @@ public class ReportTemplateDirectoryPanel
             }
         }, ActionLink.ActionType.FO_EDIT, IdRepoEntitlement.REPORT_TEMPLATE_UPDATE);
 
-        panel.add(new ActionLink<ReportTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ReportTemplateTO ignore) {
                 TemplateContent<ReportTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
-                        ReportTemplateFormat.HTML);
+                    ReportTemplateFormat.HTML);
                 content.setContent(
-                        restClient.readTemplateFormat(model.getObject().getKey(), ReportTemplateFormat.HTML));
+                    restClient.readTemplateFormat(model.getObject().getKey(), ReportTemplateFormat.HTML));
 
                 utilityModal.header(new ResourceModel("report.template.html", "XSLT for HTML"));
                 utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
@@ -149,16 +149,16 @@ public class ReportTemplateDirectoryPanel
             }
         }, ActionLink.ActionType.HTML, IdRepoEntitlement.REPORT_TEMPLATE_UPDATE);
 
-        panel.add(new ActionLink<ReportTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770645L;
 
             @Override
             public void onClick(final AjaxRequestTarget target, final ReportTemplateTO ignore) {
                 TemplateContent<ReportTemplateFormat> content = new TemplateContent<>(model.getObject().getKey(),
-                        ReportTemplateFormat.CSV);
+                    ReportTemplateFormat.CSV);
                 content.setContent(
-                        restClient.readTemplateFormat(model.getObject().getKey(), ReportTemplateFormat.CSV));
+                    restClient.readTemplateFormat(model.getObject().getKey(), ReportTemplateFormat.CSV));
 
                 utilityModal.header(new ResourceModel("report.template.csv", "XSLT for CSV"));
                 utilityModal.setContent(new TemplateContentEditorPanel(content, pageRef));
@@ -167,7 +167,7 @@ public class ReportTemplateDirectoryPanel
             }
         }, ActionLink.ActionType.TEXT, IdRepoEntitlement.REPORT_TEMPLATE_UPDATE);
 
-        panel.add(new ActionLink<ReportTemplateTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -243,7 +243,7 @@ public class ReportTemplateDirectoryPanel
                 final TemplateContent<ReportTemplateFormat> content,
                 final PageReference pageRef) {
 
-            super(utilityModal, new PropertyModel<String>(content, "content"), false, pageRef);
+            super(utilityModal, new PropertyModel<>(content, "content"), false, pageRef);
             this.content = content;
         }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.java
index 1b7f008..cf9ac9a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.java
@@ -102,16 +102,16 @@ public class ReportletDirectoryPanel extends DirectoryPanel<
         columns.add(new PropertyColumn<>(
                 new StringResourceModel("reportlet", this), "implementationKey", "implementationKey"));
 
-        columns.add(new AbstractColumn<ReportletWrapper, String>(
-                new StringResourceModel("configuration", this)) {
+        columns.add(new AbstractColumn<>(
+            new StringResourceModel("configuration", this)) {
 
             private static final long serialVersionUID = -4008579357070833846L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<ReportletWrapper>> cellItem,
-                    final String componentId,
-                    final IModel<ReportletWrapper> rowModel) {
+                final Item<ICellPopulator<ReportletWrapper>> cellItem,
+                final String componentId,
+                final IModel<ReportletWrapper> rowModel) {
 
                 if (rowModel.getObject().getConf() == null) {
                     cellItem.add(new Label(componentId, ""));
@@ -128,7 +128,7 @@ public class ReportletDirectoryPanel extends DirectoryPanel<
     public ActionsPanel<ReportletWrapper> getActions(final IModel<ReportletWrapper> model) {
         final ActionsPanel<ReportletWrapper> panel = super.getActions(model);
 
-        panel.add(new ActionLink<ReportletWrapper>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -139,11 +139,11 @@ public class ReportletDirectoryPanel extends DirectoryPanel<
                     SyncopeConsoleSession.get().info(getString("noConf"));
                 } else {
                     send(ReportletDirectoryPanel.this, Broadcast.EXACT,
-                            new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
+                        new AjaxWizard.EditItemActionEvent<>(model.getObject(), target));
                 }
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.REPORT_UPDATE);
-        panel.add(new ActionLink<ReportletWrapper>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -172,7 +172,7 @@ public class ReportletDirectoryPanel extends DirectoryPanel<
     public ActionsPanel<Serializable> getHeader(final String componentId) {
         final ActionsPanel<Serializable> panel = new ActionsPanel<>(componentId, null);
 
-        panel.add(new ActionLink<Serializable>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java
index 722cb50..0f96fe0 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java
@@ -135,7 +135,7 @@ public class ReportletWizardBuilder extends BaseAjaxWizardBuilder<ReportletWrapp
         private static final long serialVersionUID = -785981096328637758L;
 
         public Configuration(final ReportletWrapper reportlet) {
-            LoadableDetachableModel<Serializable> bean = new LoadableDetachableModel<Serializable>() {
+            LoadableDetachableModel<Serializable> bean = new LoadableDetachableModel<>() {
 
                 private static final long serialVersionUID = 2092144708018739371L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
index 3f38b87..ce29816 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AbstractAnyRestClient.java
@@ -65,7 +65,7 @@ public abstract class AbstractAnyRestClient<TO extends AnyTO> extends BaseRestCl
         ProvisioningResult<TO> result;
         synchronized (this) {
             result = getService(etag, getAnyServiceClass()).delete(key).
-                    readEntity(new GenericType<ProvisioningResult<TO>>() {
+                    readEntity(new GenericType<>() {
                     });
             resetClient(getAnyServiceClass());
         }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java
index 3add237..f4ae48d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java
@@ -44,7 +44,7 @@ public class AnyObjectRestClient extends AbstractAnyRestClient<AnyObjectTO> {
 
     public static ProvisioningResult<AnyObjectTO> create(final AnyObjectCR createReq) {
         Response response = getService(AnyObjectService.class).create(createReq);
-        return response.readEntity(new GenericType<ProvisioningResult<AnyObjectTO>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
@@ -52,7 +52,7 @@ public class AnyObjectRestClient extends AbstractAnyRestClient<AnyObjectTO> {
         ProvisioningResult<AnyObjectTO> result;
         synchronized (this) {
             result = getService(etag, AnyObjectService.class).update(updateReq).
-                    readEntity(new GenericType<ProvisioningResult<AnyObjectTO>>() {
+                    readEntity(new GenericType<>() {
                     });
             resetClient(getAnyServiceClass());
         }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
index 2a1c2f6..4cc41a0 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
@@ -45,7 +45,7 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> {
 
     public static ProvisioningResult<GroupTO> create(final GroupCR groupCR) {
         Response response = getService(GroupService.class).create(groupCR);
-        return response.readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
@@ -53,7 +53,7 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> {
         ProvisioningResult<GroupTO> result;
         synchronized (this) {
             result = getService(etag, GroupService.class).update(updateReq).
-                    readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
+                    readEntity(new GenericType<>() {
                     });
             resetClient(getAnyServiceClass());
         }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/RealmRestClient.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/RealmRestClient.java
index 5482c3d..1581dd3 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/RealmRestClient.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/RealmRestClient.java
@@ -55,13 +55,13 @@ public class RealmRestClient extends BaseRestClient {
 
     public static ProvisioningResult<RealmTO> create(final String parentPath, final RealmTO realmTO) {
         final Response response = getService(RealmService.class).create(parentPath, realmTO);
-        return response.readEntity(new GenericType<ProvisioningResult<RealmTO>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
     public static ProvisioningResult<RealmTO> update(final RealmTO realmTO) {
         final Response response = getService(RealmService.class).update(realmTO);
-        return response.readEntity(new GenericType<ProvisioningResult<RealmTO>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
index eb69255..a25ad37 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
@@ -54,7 +54,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> {
 
     public static ProvisioningResult<UserTO> create(final UserCR createReq) {
         Response response = getService(UserService.class).create(createReq);
-        return response.readEntity(new GenericType<ProvisioningResult<UserTO>>() {
+        return response.readEntity(new GenericType<>() {
         });
     }
 
@@ -62,7 +62,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> {
         ProvisioningResult<UserTO> result;
         synchronized (this) {
             result = getService(etag, UserService.class).update(updateReq).
-                    readEntity(new GenericType<ProvisioningResult<UserTO>>() {
+                    readEntity(new GenericType<>() {
                     });
             resetClient(getAnyServiceClass());
         }
@@ -101,7 +101,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> {
         Map<String, String> results;
         synchronized (this) {
             ProvisioningResult<UserTO> provisioningResult = getService(etag, UserService.class).status(statusR).
-                    readEntity(new GenericType<ProvisioningResult<UserTO>>() {
+                    readEntity(new GenericType<>() {
                     });
 
             statuses.forEach(statusBean -> statusBean.setStatus(Status.UNDEFINED));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/CrontabPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/CrontabPanel.java
index 997b3e8..9f77d68 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/CrontabPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/CrontabPanel.java
@@ -69,7 +69,7 @@ public class CrontabPanel extends Panel {
         cronTemplateChooser.setNullValid(false);
         cronTemplateChooser.setPlaceholder("chooseForTemplate");
 
-        cronTemplateChooser.getField().setModel(new IModel<SelectOption>() {
+        cronTemplateChooser.getField().setModel(new IModel<>() {
 
             private static final long serialVersionUID = 6762568283146531315L;
 
@@ -88,8 +88,8 @@ public class CrontabPanel extends Panel {
             @Override
             public void setObject(final SelectOption object) {
                 cronExpressionModel.setObject(object == null || object.equals(cronTemplates[0])
-                        ? null
-                        : object.toString());
+                    ? null
+                    : object.toString());
             }
 
             @Override
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
index afcd7d2..0ae871c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ExecutionsDirectoryPanel.java
@@ -115,7 +115,7 @@ public abstract class ExecutionsDirectoryPanel
         final ActionsPanel<ExecTO> panel = super.getActions(model);
         final ExecTO taskExecutionTO = model.getObject();
 
-        panel.add(new ActionLink<ExecTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -123,10 +123,10 @@ public abstract class ExecutionsDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final ExecTO ignore) {
                 ExecutionsDirectoryPanel.this.getTogglePanel().close(target);
                 next(new StringResourceModel("execution.view", ExecutionsDirectoryPanel.this, model).
-                        getObject(), new ExecMessage(model.getObject().getMessage()), target);
+                    getObject(), new ExecMessage(model.getObject().getMessage()), target);
             }
         }, ActionLink.ActionType.VIEW, IdRepoEntitlement.TASK_READ);
-        panel.add(new ActionLink<ExecTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -198,7 +198,7 @@ public abstract class ExecutionsDirectoryPanel
         @Override
         public IModel<ExecTO> model(final ExecTO taskExecution) {
 
-            return new IModel<ExecTO>() {
+            return new IModel<>() {
 
                 private static final long serialVersionUID = 7485475149862342421L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
index 9d23000..64dcb57 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/NotificationTaskDirectoryPanel.java
@@ -108,7 +108,7 @@ public abstract class NotificationTaskDirectoryPanel
         final ActionsPanel<NotificationTaskTO> panel = super.getActions(model);
         final NotificationTaskTO taskTO = model.getObject();
 
-        panel.add(new ActionLink<NotificationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -117,7 +117,7 @@ public abstract class NotificationTaskDirectoryPanel
                 viewTask(taskTO, target);
             }
         }, ActionLink.ActionType.VIEW, IdRepoEntitlement.TASK_READ);
-        panel.add(new ActionLink<NotificationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -126,7 +126,7 @@ public abstract class NotificationTaskDirectoryPanel
                 viewMailBody(MailTemplateFormat.TEXT, taskTO.getTextBody(), target);
             }
         }, ActionLink.ActionType.TEXT, IdRepoEntitlement.TASK_READ);
-        panel.add(new ActionLink<NotificationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -135,7 +135,7 @@ public abstract class NotificationTaskDirectoryPanel
                 viewMailBody(MailTemplateFormat.HTML, taskTO.getHtmlBody(), target);
             }
         }, ActionLink.ActionType.HTML, IdRepoEntitlement.TASK_READ);
-        panel.add(new ActionLink<NotificationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -152,7 +152,7 @@ public abstract class NotificationTaskDirectoryPanel
                 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
             }
         }, ActionLink.ActionType.EXECUTE, IdRepoEntitlement.TASK_EXECUTE);
-        panel.add(new ActionLink<NotificationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
index 7d9df4a..e5fd146 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
@@ -80,8 +80,8 @@ public abstract class PropagationTaskDirectoryPanel
             columns.add(new PropertyColumn<>(
                     new StringResourceModel("resource", this), "resource", "resource"));
         } else {
-            columns.add(new PropertyColumn<PropagationTaskTO, String>(
-                    new StringResourceModel("anyTypeKind", this), "anyTypeKind", "anyTypeKind") {
+            columns.add(new PropertyColumn<>(
+                new StringResourceModel("anyTypeKind", this), "anyTypeKind", "anyTypeKind") {
 
                 private static final long serialVersionUID = 3344577098912281394L;
 
@@ -118,7 +118,7 @@ public abstract class PropagationTaskDirectoryPanel
         final ActionsPanel<PropagationTaskTO> panel = super.getActions(model);
         final PropagationTaskTO taskTO = model.getObject();
 
-        panel.add(new ActionLink<PropagationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -130,7 +130,7 @@ public abstract class PropagationTaskDirectoryPanel
         }, ActionLink.ActionType.VIEW_EXECUTIONS, IdRepoEntitlement.TASK_READ);
 
         // [SYNCOPE-1115] - Display attributes for propagation tasks
-        panel.add(new ActionLink<PropagationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = 9206257220553949594L;
 
@@ -141,7 +141,7 @@ public abstract class PropagationTaskDirectoryPanel
             }
         }, ActionLink.ActionType.VIEW_DETAILS, IdRepoEntitlement.TASK_READ);
 
-        panel.add(new ActionLink<PropagationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -159,7 +159,7 @@ public abstract class PropagationTaskDirectoryPanel
             }
         }, ActionLink.ActionType.EXECUTE, IdRepoEntitlement.TASK_EXECUTE);
 
-        panel.add(new ActionLink<PropagationTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java
index e779e52..c83b50b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java
@@ -133,23 +133,23 @@ public abstract class ProvisioningTaskDirectoryPanel<T extends ProvisioningTaskT
         columns.add(new BooleanPropertyColumn<>(
                 new StringResourceModel("active", this), "active", "active"));
 
-        columns.add(new AbstractColumn<T, String>(new Model<>(""), "running") {
+        columns.add(new AbstractColumn<>(new Model<>(""), "running") {
 
             private static final long serialVersionUID = -4008579357070833846L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<T>> cellItem,
-                    final String componentId,
-                    final IModel<T> rowModel) {
+                final Item<ICellPopulator<T>> cellItem,
+                final String componentId,
+                final IModel<T> rowModel) {
 
                 Component panel;
                 try {
                     JobTO jobTO = TaskRestClient.getJob(rowModel.getObject().getKey());
                     panel = new JobActionPanel(componentId, jobTO, false, ProvisioningTaskDirectoryPanel.this);
                     MetaDataRoleAuthorizationStrategy.authorize(
-                            panel, WebPage.ENABLE,
-                            String.format("%s,%s", IdRepoEntitlement.TASK_EXECUTE, IdRepoEntitlement.TASK_UPDATE));
+                        panel, WebPage.ENABLE,
+                        String.format("%s,%s", IdRepoEntitlement.TASK_EXECUTE, IdRepoEntitlement.TASK_UPDATE));
                 } catch (Exception e) {
                     LOG.error("Could not get job for task {}", rowModel.getObject().getKey(), e);
                     panel = new Label(componentId, Model.of());
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PullTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PullTaskDirectoryPanel.java
index 0ddbcdd..b496930 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PullTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PullTaskDirectoryPanel.java
@@ -55,7 +55,7 @@ public abstract class PullTaskDirectoryPanel extends ProvisioningTaskDirectoryPa
 
     @Override
     protected void addFurtherActions(final ActionsPanel<PullTaskTO> panel, final IModel<PullTaskTO> model) {
-        panel.add(new ActionLink<PullTaskTO>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
index 5a0e02c..002747d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/PushTaskFilters.java
@@ -41,7 +41,7 @@ public class PushTaskFilters extends WizardStep {
     public PushTaskFilters(final PushTaskWrapper pushTaskWrapper) {
         super();
 
-        final LoadableDetachableModel<List<AnyTypeTO>> types = new LoadableDetachableModel<List<AnyTypeTO>>() {
+        final LoadableDetachableModel<List<AnyTypeTO>> types = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 5275935387613157437L;
 
@@ -51,7 +51,7 @@ public class PushTaskFilters extends WizardStep {
             }
         };
 
-        add(new ListView<AnyTypeTO>("filters", types) {
+        add(new ListView<>("filters", types) {
 
             private static final long serialVersionUID = 9101744072914090143L;
 
@@ -59,19 +59,19 @@ public class PushTaskFilters extends WizardStep {
             protected void populateItem(final ListItem<AnyTypeTO> item) {
                 final String key = item.getModelObject().getKey();
                 item.add(new Accordion("filters", List.of(
-                        new AbstractTab(new StringResourceModel(
-                                "filters", this, new Model<>(item.getModelObject()))) {
+                    new AbstractTab(new StringResourceModel(
+                        "filters", this, new Model<>(item.getModelObject()))) {
 
-                    private static final long serialVersionUID = 1037272333056449378L;
+                        private static final long serialVersionUID = 1037272333056449378L;
 
-                    @Override
-                    public Panel getPanel(final String panelId) {
-                        return new AnyObjectSearchPanel.Builder(
+                        @Override
+                        public Panel getPanel(final String panelId) {
+                            return new AnyObjectSearchPanel.Builder(
                                 key, new MapOfListModel<>(pushTaskWrapper, "filterClauses", key)).
                                 required(false).build(panelId);
-                    }
-                }), Model.of(StringUtils.isBlank(pushTaskWrapper.getFilters().get(key)) ? -1 : 0))
-                        .setOutputMarkupId(true));
+                        }
+                    }), Model.of(StringUtils.isBlank(pushTaskWrapper.getFilters().get(key)) ? -1 : 0))
+                    .setOutputMarkupId(true));
             }
         });
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
index 8b15345..27e2eaf 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
@@ -155,16 +155,16 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
                 new StringResourceModel(Constants.NAME_FIELD_NAME, this),
                 Constants.NAME_FIELD_NAME, Constants.NAME_FIELD_NAME));
 
-        columns.add(new PropertyColumn<T, String>(
-                new StringResourceModel("jobDelegate", this), "jobDelegate", "jobDelegate") {
+        columns.add(new PropertyColumn<>(
+            new StringResourceModel("jobDelegate", this), "jobDelegate", "jobDelegate") {
 
             private static final long serialVersionUID = -3223917055078733093L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<T>> item,
-                    final String componentId,
-                    final IModel<T> rowModel) {
+                final Item<ICellPopulator<T>> item,
+                final String componentId,
+                final IModel<T> rowModel) {
 
                 IModel<?> model = getDataModel(rowModel);
                 if (model != null && model.getObject() instanceof String) {
@@ -192,23 +192,23 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
         columns.add(new BooleanPropertyColumn<>(
                 new StringResourceModel("active", this), "active", "active"));
 
-        columns.add(new AbstractColumn<T, String>(new Model<>(""), "running") {
+        columns.add(new AbstractColumn<>(new Model<>(""), "running") {
 
             private static final long serialVersionUID = -4008579357070833846L;
 
             @Override
             public void populateItem(
-                    final Item<ICellPopulator<T>> cellItem,
-                    final String componentId,
-                    final IModel<T> rowModel) {
+                final Item<ICellPopulator<T>> cellItem,
+                final String componentId,
+                final IModel<T> rowModel) {
 
                 Component panel;
                 try {
                     JobTO jobTO = restClient.getJob(rowModel.getObject().getKey());
                     panel = new JobActionPanel(componentId, jobTO, false, SchedTaskDirectoryPanel.this);
                     MetaDataRoleAuthorizationStrategy.authorize(
-                            panel, WebPage.ENABLE,
-                            String.format("%s,%s", IdRepoEntitlement.TASK_EXECUTE, IdRepoEntitlement.TASK_UPDATE));
+                        panel, WebPage.ENABLE,
+                        String.format("%s,%s", IdRepoEntitlement.TASK_EXECUTE, IdRepoEntitlement.TASK_UPDATE));
                 } catch (Exception e) {
                     LOG.error("Could not get job for task {}", rowModel.getObject().getKey(), e);
                     panel = new Label(componentId, Model.of());
@@ -238,7 +238,7 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
         final ActionsPanel<T> panel = super.getActions(model);
         final T taskTO = model.getObject();
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -249,7 +249,7 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
             }
         }, ActionLink.ActionType.VIEW_EXECUTIONS, IdRepoEntitlement.TASK_READ);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -257,16 +257,16 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
             public void onClick(final AjaxRequestTarget target, final T ignore) {
                 SchedTaskDirectoryPanel.this.getTogglePanel().close(target);
                 send(SchedTaskDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(
-                                TaskRestClient.readTask(taskType, model.getObject().getKey()),
-                                target).setResourceModel(
-                                new StringResourceModel("inner.task.edit",
-                                        SchedTaskDirectoryPanel.this,
-                                        Model.of(Pair.of(ActionLink.ActionType.EDIT, model.getObject())))));
+                    new AjaxWizard.EditItemActionEvent<>(
+                        TaskRestClient.readTask(taskType, model.getObject().getKey()),
+                        target).setResourceModel(
+                        new StringResourceModel("inner.task.edit",
+                            SchedTaskDirectoryPanel.this,
+                            Model.of(Pair.of(ActionLink.ActionType.EDIT, model.getObject())))));
             }
         }, ActionLink.ActionType.EDIT, IdRepoEntitlement.TASK_UPDATE);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -276,14 +276,14 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
                 final T clone = SerializationUtils.clone(model.getObject());
                 clone.setKey(null);
                 send(SchedTaskDirectoryPanel.this, Broadcast.EXACT,
-                        new AjaxWizard.EditItemActionEvent<>(clone, target).setResourceModel(
-                                new StringResourceModel("inner.task.clone",
-                                        SchedTaskDirectoryPanel.this,
-                                        Model.of(Pair.of(ActionLink.ActionType.CLONE, model.getObject())))));
+                    new AjaxWizard.EditItemActionEvent<>(clone, target).setResourceModel(
+                        new StringResourceModel("inner.task.clone",
+                            SchedTaskDirectoryPanel.this,
+                            Model.of(Pair.of(ActionLink.ActionType.CLONE, model.getObject())))));
             }
         }, ActionLink.ActionType.CLONE, IdRepoEntitlement.TASK_CREATE);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
@@ -297,7 +297,7 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
 
         addFurtherActions(panel, model);
 
-        panel.add(new ActionLink<T>() {
+        panel.add(new ActionLink<>() {
 
             private static final long serialVersionUID = -3722207913631435501L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
index 8ddc0bf..f534a9f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
@@ -197,7 +197,7 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends BaseAjaxWizar
 
             final AjaxSearchFieldPanel destinationRealm =
                     new AjaxSearchFieldPanel("destinationRealm", "destinationRealm",
-                            new PropertyModel<String>(taskTO, "destinationRealm"), settings) {
+                        new PropertyModel<>(taskTO, "destinationRealm"), settings) {
 
                 private static final long serialVersionUID = -6390474600233486704L;
 
@@ -233,7 +233,7 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends BaseAjaxWizar
             }
 
             final AjaxSearchFieldPanel sourceRealm = new AjaxSearchFieldPanel("sourceRealm", "sourceRealm",
-                    new PropertyModel<String>(taskTO, "sourceRealm"), settings) {
+                new PropertyModel<>(taskTO, "sourceRealm"), settings) {
 
                 private static final long serialVersionUID = -6390474600233486704L;
 
@@ -265,7 +265,7 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends BaseAjaxWizar
             AjaxPalettePanel<String> actions = new AjaxPalettePanel.Builder<String>().
                     setAllowMoveAll(true).setAllowOrder(true).
                     build("actions",
-                            new PropertyModel<List<String>>(taskTO, "actions"),
+                        new PropertyModel<>(taskTO, "actions"),
                             new ListModel<>(taskTO instanceof PushTaskTO
                                     ? pushActions.getObject() : pullActions.getObject()));
             actions.setOutputMarkupId(true);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTasks.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTasks.java
index 562d632..10eed40 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTasks.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTasks.java
@@ -39,16 +39,16 @@ public class SchedTasks extends AbstractTasks {
         final MultilevelPanel mlp = new MultilevelPanel("tasks");
         add(mlp);
 
-        mlp.setFirstLevel(new SchedTaskDirectoryPanel<SchedTaskTO>(
-                baseModal, mlp, TaskType.SCHEDULED, SchedTaskTO.class, pageReference) {
+        mlp.setFirstLevel(new SchedTaskDirectoryPanel<>(
+            baseModal, mlp, TaskType.SCHEDULED, SchedTaskTO.class, pageReference) {
 
             private static final long serialVersionUID = -2195387360323687302L;
 
             @Override
             protected void viewTask(final SchedTaskTO taskTO, final AjaxRequestTarget target) {
                 mlp.next(
-                        new StringResourceModel("task.view", this, new Model<>(Pair.of(null, taskTO))).getObject(),
-                        new TaskExecutionDetails<>(baseModal, taskTO, pageReference), target);
+                    new StringResourceModel("task.view", this, new Model<>(Pair.of(null, taskTO))).getObject(),
+                    new TaskExecutionDetails<>(baseModal, taskTO, pageReference), target);
             }
         });
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
index 22e6e2d..bacb6a6 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
@@ -46,7 +46,7 @@ public class TaskAttributesDetailsView extends MultilevelPanel.SecondLevel {
 
         Pair<String, String> info = Pair.of(taskTO.getEntityKey(), getJSONInfo(taskTO));
         JsonEditorPanel jsonPanel =
-                new JsonEditorPanel(null, new PropertyModel<String>(info, "value"), true, null) {
+                new JsonEditorPanel(null, new PropertyModel<>(info, "value"), true, null) {
 
             private static final long serialVersionUID = -8927036362466990179L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
index 46d68b0..0b37166 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.java
@@ -63,7 +63,7 @@ public abstract class TemplatesTogglePanel extends TogglePanel<Serializable> {
 
     protected final Model<String> typeModel = new Model<>();
 
-    private final LoadableDetachableModel<List<String>> anyTypes = new LoadableDetachableModel<List<String>>() {
+    private final LoadableDetachableModel<List<String>> anyTypes = new LoadableDetachableModel<>() {
 
         private static final long serialVersionUID = 5275935387613157437L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
index 09cf116..6a0628d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
@@ -64,14 +64,14 @@ public class AjaxFallbackDataTable<T extends Serializable, S> extends DataTable<
 
         togglePanel = getTogglePanel();
 
-        addTopToolbar(new AjaxFallbackHeadersToolbar<S>(this, dataProvider) {
+        addTopToolbar(new AjaxFallbackHeadersToolbar<>(this, dataProvider) {
 
             private static final long serialVersionUID = 7406306172424359609L;
 
             @Override
             protected WebMarkupContainer newSortableHeader(
-                    final String borderId, final S property, final ISortStateLocator<S> locator) {
-                return new AjaxFallbackOrderByBorder<S>(borderId, property, locator) {
+                final String borderId, final S property, final ISortStateLocator<S> locator) {
+                return new AjaxFallbackOrderByBorder<>(borderId, property, locator) {
 
                     private static final long serialVersionUID = 8261993963983329775L;
 
@@ -85,14 +85,14 @@ public class AjaxFallbackDataTable<T extends Serializable, S> extends DataTable<
             }
         });
 
-        addBottomToolbar(new AjaxFallbackHeadersToolbar<S>(this, dataProvider) {
+        addBottomToolbar(new AjaxFallbackHeadersToolbar<>(this, dataProvider) {
 
             private static final long serialVersionUID = 7406306172424359609L;
 
             @Override
             protected WebMarkupContainer newSortableHeader(
-                    final String borderId, final S property, final ISortStateLocator<S> locator) {
-                return new AjaxFallbackOrderByBorder<S>(borderId, property, locator) {
+                final String borderId, final S property, final ISortStateLocator<S> locator) {
+                return new AjaxFallbackOrderByBorder<>(borderId, property, locator) {
 
                     private static final long serialVersionUID = 985887006636879421L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BatchResponseColumn.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BatchResponseColumn.java
index 273c62f..4cc4c96 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BatchResponseColumn.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BatchResponseColumn.java
@@ -48,7 +48,7 @@ public class BatchResponseColumn<T, S> extends AbstractColumn<T, S> {
     private final String keyFieldName;
 
     public BatchResponseColumn(final Map<String, String> results, final String keyFieldName) {
-        super(new Model<String>());
+        super(new Model<>());
         this.results = results;
         this.keyFieldName = keyFieldName;
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/CheckGroupColumn.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/CheckGroupColumn.java
index 6a9dcd6..6551357 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/CheckGroupColumn.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/CheckGroupColumn.java
@@ -33,7 +33,7 @@ public class CheckGroupColumn<T, S> extends AbstractColumn<T, S> {
     private final CheckGroup<T> group;
 
     public CheckGroupColumn(final CheckGroup<T> checkGroup) {
-        super(new Model<String>());
+        super(new Model<>());
         this.group = checkGroup;
     }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
index 2bdd5b4..a99fe33 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
@@ -88,7 +88,7 @@ public class BaseModal<T extends Serializable> extends Modal<T> {
         form.setOutputMarkupId(true);
         add(form);
 
-        content = new AbstractModalPanel<T>(this, null) {
+        content = new AbstractModalPanel<>(this, null) {
 
             private static final long serialVersionUID = -6142277554912316095L;
 
@@ -243,7 +243,7 @@ public class BaseModal<T extends Serializable> extends Modal<T> {
         dialog.setMarkupId(this.getId());
 
         footer = (WebMarkupContainer) this.get("dialog:footer");
-        footer.addOrReplace(new ListView<Component>("inputs", components) {
+        footer.addOrReplace(new ListView<>("inputs", components) {
 
             private static final long serialVersionUID = 4949588177564901031L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionsPanel.java
index 6b6c06a..f34ea52 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionsPanel.java
@@ -44,7 +44,7 @@ public final class ActionsPanel<T extends Serializable> extends Panel {
         setOutputMarkupId(true);
         this.model = model;
 
-        add(new ListView<Action<T>>("actionRepeater", actions) {
+        add(new ListView<>("actionRepeater", actions) {
 
             private static final long serialVersionUID = -9180479401817023838L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxCharacterFieldPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxCharacterFieldPanel.java
index 8247a2a..2d5f1f9 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxCharacterFieldPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxCharacterFieldPanel.java
@@ -59,7 +59,7 @@ public class AjaxCharacterFieldPanel extends FieldPanel<Character> implements Cl
         settings.setShowListOnEmptyInput(true);
         settings.setCssClassName("custom-autocomplete-box");
 
-        field = new AutoCompleteTextField<Character>("textField", model, settings) {
+        field = new AutoCompleteTextField<>("textField", model, settings) {
 
             private static final long serialVersionUID = -6648767303091874219L;
 
@@ -70,8 +70,8 @@ public class AjaxCharacterFieldPanel extends FieldPanel<Character> implements Cl
 
             @Override
             protected AutoCompleteBehavior<Character> newAutoCompleteBehavior(
-                    final IAutoCompleteRenderer<Character> renderer, final AutoCompleteSettings settings) {
-                return new IndicatorAutoCompleteBehavior<Character>(renderer, settings) {
+                final IAutoCompleteRenderer<Character> renderer, final AutoCompleteSettings settings) {
+                return new IndicatorAutoCompleteBehavior<>(renderer, settings) {
 
                     private static final long serialVersionUID = 1070808433195962931L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxSearchFieldPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxSearchFieldPanel.java
index 1c05f3c..96f0d33 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxSearchFieldPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxSearchFieldPanel.java
@@ -64,7 +64,7 @@ public class AjaxSearchFieldPanel extends FieldPanel<String> implements Cloneabl
         this.settings = settings;
         this.renderer = renderer;
 
-        field = new AutoCompleteTextField<String>("textField", model, settings) {
+        field = new AutoCompleteTextField<>("textField", model, settings) {
 
             private static final long serialVersionUID = -6648767303091874219L;
 
@@ -75,11 +75,11 @@ public class AjaxSearchFieldPanel extends FieldPanel<String> implements Cloneabl
 
             @Override
             protected AutoCompleteBehavior<String> newAutoCompleteBehavior(
-                    final IAutoCompleteRenderer<String> renderer, final AutoCompleteSettings settings) {
+                final IAutoCompleteRenderer<String> renderer, final AutoCompleteSettings settings) {
 
-                return new IndicatorAutoCompleteBehavior<String>(
-                        AjaxSearchFieldPanel.this.renderer != null ? AjaxSearchFieldPanel.this.renderer : renderer,
-                        AjaxSearchFieldPanel.this.settings != null ? AjaxSearchFieldPanel.this.settings : settings) {
+                return new IndicatorAutoCompleteBehavior<>(
+                    AjaxSearchFieldPanel.this.renderer != null ? AjaxSearchFieldPanel.this.renderer : renderer,
+                    AjaxSearchFieldPanel.this.settings != null ? AjaxSearchFieldPanel.this.settings : settings) {
 
                     private static final long serialVersionUID = 1070808433195962931L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index bc46754..25edaba 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -166,7 +166,7 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
 
         add(fileDownload);
 
-        downloadLink = new AjaxLink<Void>("downloadLink") {
+        downloadLink = new AjaxLink<>("downloadLink") {
 
             private static final long serialVersionUID = -4331619903296515985L;
 
@@ -229,7 +229,7 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
         });
         uploadForm.add(fileUpload);
 
-        resetLink = new IndicatingAjaxLink<Void>("resetLink") {
+        resetLink = new IndicatingAjaxLink<>("resetLink") {
 
             private static final long serialVersionUID = -7978723352517770644L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/MultiFieldPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/MultiFieldPanel.java
index 73cce5b..cf2ce18 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/MultiFieldPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/MultiFieldPanel.java
@@ -75,7 +75,7 @@ public abstract class MultiFieldPanel<E extends Serializable> extends AbstractMu
         }
 
         public MultiFieldPanel<E> build(final String id, final String name, final FieldPanel<E> panelTemplate) {
-            return new MultiFieldPanel<E>(id, name, model) {
+            return new MultiFieldPanel<>(id, name, model) {
 
                 private static final long serialVersionUID = 6600411297376841521L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
index 4b4af91..ad33969 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
@@ -53,7 +53,7 @@ public abstract class AlertWidget<T extends Serializable> extends Panel {
 
         setOutputMarkupId(true);
 
-        final LoadableDetachableModel<Integer> size = new LoadableDetachableModel<Integer>() {
+        final LoadableDetachableModel<Integer> size = new LoadableDetachableModel<>() {
 
             private static final long serialVersionUID = 7474274077691068779L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
index 018b70c..65d34ae 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
@@ -50,7 +50,7 @@ public class ItemTransformerWidget extends AlertWidget<String> {
 
     @Override
     protected IModel<List<String>> getLatestAlerts() {
-        return new ListModel<String>() {
+        return new ListModel<>() {
 
             private static final long serialVersionUID = 1232998477036705088L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
index 97f1c57..bb1303d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
@@ -55,7 +55,7 @@ public class JEXLTransformerWidget extends AlertWidget<String> {
 
     @Override
     protected IModel<List<String>> getLatestAlerts() {
-        return new ListModel<String>() {
+        return new ListModel<>() {
 
             private static final long serialVersionUID = -2583290457773357445L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java
index 4bbd68d..12dde2d 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java
@@ -92,7 +92,7 @@ public class JobWidget extends BaseWidget {
 
     private final ActionLinksTogglePanel<JobTO> actionTogglePanel;
 
-    private final BaseModal<Serializable> modal = new BaseModal<Serializable>("modal") {
+    private final BaseModal<Serializable> modal = new BaseModal<>("modal") {
 
         private static final long serialVersionUID = 389935548143327858L;
 
@@ -103,7 +103,7 @@ public class JobWidget extends BaseWidget {
         }
     };
 
-    private final BaseModal<Serializable> detailModal = new BaseModal<Serializable>("detailModal") {
+    private final BaseModal<Serializable> detailModal = new BaseModal<>("detailModal") {
 
         private static final long serialVersionUID = 389935548143327858L;
 
@@ -114,7 +114,7 @@ public class JobWidget extends BaseWidget {
         }
     };
 
-    private final BaseModal<ReportTO> reportModal = new BaseModal<ReportTO>("reportModal") {
+    private final BaseModal<ReportTO> reportModal = new BaseModal<>("reportModal") {
 
         private static final long serialVersionUID = 389935548143327858L;
 
@@ -318,15 +318,15 @@ public class JobWidget extends BaseWidget {
 
             columns.add(new DatePropertyColumn<>(new ResourceModel("start"), "start", "start"));
 
-            columns.add(new AbstractColumn<JobTO, String>(new Model<>(""), "running") {
+            columns.add(new AbstractColumn<>(new Model<>(""), "running") {
 
                 private static final long serialVersionUID = -4008579357070833846L;
 
                 @Override
                 public void populateItem(
-                        final Item<ICellPopulator<JobTO>> cellItem,
-                        final String componentId,
-                        final IModel<JobTO> rowModel) {
+                    final Item<ICellPopulator<JobTO>> cellItem,
+                    final String componentId,
+                    final IModel<JobTO> rowModel) {
 
                     JobTO jobTO = rowModel.getObject();
                     JobActionPanel panel = new JobActionPanel(componentId, jobTO, true, JobWidget.this);
@@ -335,17 +335,17 @@ public class JobWidget extends BaseWidget {
                     switch (jobTO.getType()) {
                         case TASK:
                             roles = String.format("%s,%s",
-                                    IdRepoEntitlement.TASK_EXECUTE, IdRepoEntitlement.TASK_UPDATE);
+                                IdRepoEntitlement.TASK_EXECUTE, IdRepoEntitlement.TASK_UPDATE);
                             break;
 
                         case REPORT:
                             roles = String.format("%s,%s",
-                                    IdRepoEntitlement.REPORT_EXECUTE, IdRepoEntitlement.REPORT_UPDATE);
+                                IdRepoEntitlement.REPORT_EXECUTE, IdRepoEntitlement.REPORT_UPDATE);
                             break;
 
                         case NOTIFICATION:
                             roles = String.format("%s,%s",
... 4940 lines suppressed ...