private List getAvailableRoles()

in teamcity-invitations-plugin-server/src/main/java/org/jetbrains/teamcity/invitations/CreateNewProjectInvitationType.java [115:123]


    private List<Role> getAvailableRoles(@NotNull AuthorityHolder currentUser, @NotNull SProject project) {
        return core.getAvailableRoles().
                stream().
                filter(Role::isProjectAssociationSupported).
                filter(role -> role.getPermissions().contains(EDIT_PROJECT)).
                filter(role -> canAssignRole(currentUser, project, role)).
                sorted(comparingInt(o -> -o.getPermissions().toList().size())).
                collect(toList());
    }