if (!pb.hasSecretData()) {
try {
pb.setSecretData(Secrets.buildProjectRolesSecret(granteeData, authenticatedProject));
} catch (KeyczarException e) {
throw new CloudException("Crypto error granting project role", e);
}
}
if (!pb.getRoleList().contains(role.getId())) {
pb.addRole(role.getId());