LPS-36687 externalize the wrapper classes
LPS-36687 create a marker interface we can test for
LPS-36687 apply the marker interface
LPS-36687 for backward compatibility, when the request is a configuration request we know it's a request wrapper, only it's the configuration case, get the preferences directly
LPS-36687 avoid duplication
LPS-36687 SF
LPS-36514 Extract logic to a method -- no logic changes
LPS-36514 When checking whether user is groupAdmin we need to iterate the parent groups/organizations and check if the user has MANAGE_SUBSITE or MANAGE_SUBORGS in any of them.
LPS-36514 Remove logic that is already performed by the advanced permission checker
LPS-36514 Add new action "ADD_ORGANIZATION" that is missing (Sites already has ADD_COMMUNITY). Make logic consistent with UserServiceImpl and GroupPermissionImpl. When adding a suborganization we need to check if the user has ADD_ORGANIZATION permission.
LPS-36514 source formatting
LPS-36514 fix copy&paste error
LPS-36514 SF