@Override public Project updateProject(final UpdateProjectValidationResult result) { if (result == null) { throw new IllegalArgumentException("You can not update a project with a null validation result."); } if (!result.isValid()) { throw new IllegalStateException("You can not update a project with an invalid validation result."); } Project newProject = projectManager.updateProject(result.getOriginalProject(), result.getName(), result.getDescription(), keyFor(result.getLeadUsername()), result.getUrl(), result.getAssigneeType(), result.getAvatarId(), result.getKey()); projectEventManager.dispatchProjectUpdated(result.getUser(), newProject, result.getOriginalProject()); return newProject; }