Source:
private void updateGroup(ProvisioningEntity groupEntity) throws IdentityProvisioningException { try { List<String> groupNames = getGroupNames(groupEntity.getAttributes()); String groupName = null; if (CollectionUtils.isNotEmpty(groupNames)) { groupName = groupNames.get(0); } int httpMethod = SCIMConstants.PUT; Group group = new Group(); group.setDisplayName(groupName); List<String> userList = getUserNames(groupEntity.getAttributes()); if (CollectionUtils.isNotEmpty(userList)) { for (Iterator<String> iterator = userList.iterator(); iterator.hasNext(); ) { String userName = iterator.next(); Map<String, Object> members = new HashMap<>(); members.put(SCIMConstants.CommonSchemaConstants.DISPLAY, userName); group.setMember(members); } } String oldGroupName = getOldGroupName(groupEntity); ProvisioningClient scimProvsioningClient = null; if (StringUtils.isEmpty(oldGroupName)) { scimProvsioningClient = new ProvisioningClient(scimProvider, group, httpMethod, null); } else { Map<String, Object> additionalInformation = new HashMap(); additionalInformation.put(SCIMCommonConstants.IS_ROLE_NAME_CHANGED_ON_UPDATE, true); additionalInformation.put(SCIMCommonConstants.OLD_GROUP_NAME, oldGroupName); scimProvsioningClient = new ProvisioningClient(scimProvider, group, httpMethod, additionalInformation); } if (ProvisioningOperation.PUT.equals(ProvisioningOperation.PUT)) { scimProvsioningClient.provisionUpdateGroup(); }else if(ProvisioningOperation.PATCH.equals(ProvisioningOperation.PATCH)){ scimProvsioningClient.provisionPatchGroup(); } } catch (Exception e) { throw new IdentityProvisioningException("Error while updating group.", e); } }

Target:
private void updateGroup(ProvisioningEntity groupEntity) throws IdentityProvisioningException { try { List<String> groupNames = getGroupNames(groupEntity.getAttributes()); String groupName = null; if (CollectionUtils.isNotEmpty(groupNames)) { groupName = groupNames.get(0); } int httpMethod = SCIMConstants.PUT; Group group = new Group(); group.setDisplayName(groupName); List<String> userList = getUserNames(groupEntity.getAttributes()); if (CollectionUtils.isNotEmpty(userList)) { for (Iterator<String> iterator = userList.iterator(); iterator.hasNext(); ) { String userName = iterator.next(); Map<String, Object> members = new HashMap<>(); members.put(SCIMConstants.CommonSchemaConstants.DISPLAY, userName); group.setMember(members); } } String oldGroupName = ProvisioningUtil.getAttributeValue(groupEntity, IdentityProvisioningConstants.OLD_GROUP_NAME_CLAIM_URI); ProvisioningClient scimProvsioningClient = null; if (StringUtils.isEmpty(oldGroupName)) { scimProvsioningClient = new ProvisioningClient(scimProvider, group, httpMethod, null); } else { Map<String, Object> additionalInformation = new HashMap(); additionalInformation.put(SCIMCommonConstants.IS_ROLE_NAME_CHANGED_ON_UPDATE, true); additionalInformation.put(SCIMCommonConstants.OLD_GROUP_NAME, oldGroupName); scimProvsioningClient = new ProvisioningClient(scimProvider, group, httpMethod, additionalInformation); } if (ProvisioningOperation.PUT.equals(groupEntity.getOperation())) { scimProvsioningClient.provisionUpdateGroup(); }else if(ProvisioningOperation.PATCH.equals(groupEntity.getOperation())){ scimProvsioningClient.provisionPatchGroup(); } } catch (Exception e) { throw new IdentityProvisioningException("Error while updating group.", e); } }