@Path("/{uuid}")
 @GET
 @ApiOperation(value = "Find a thread", response = ThreadDto.class)
 @ApiResponses({@ApiResponse(code = 403, message = "User isn't admin.")})
 @Override
 public ThreadDto find(@PathParam("uuid") String uuid) throws BusinessException {
   return threadFacade.find(uuid);
 }
 @Path("/")
 @DELETE
 @ApiOperation(value = "Delete a thread.")
 @ApiResponses({@ApiResponse(code = 403, message = "User isn't admin.")})
 @Override
 public void delete(ThreadDto thread) throws BusinessException {
   threadFacade.delete(thread.getUuid());
 }
 @Path("/")
 @GET
 @ApiOperation(value = "Find all threads.", response = ThreadDto.class, responseContainer = "Set")
 @ApiResponses({@ApiResponse(code = 403, message = "User isn't admin.")})
 @Override
 public Set<ThreadDto> findAll() throws BusinessException {
   return threadFacade.findAll();
 }
 @Path("/")
 @PUT
 @ApiOperation(value = "Update a thread.")
 @ApiResponses({@ApiResponse(code = 403, message = "User isn't admin.")})
 @Override
 public ThreadDto update(ThreadDto thread) throws BusinessException {
   return threadFacade.update(thread);
 }
 @Path("/{uuid}/members")
 @GET
 @ApiOperation(
     value = "Find all thread members.",
     response = ThreadDto.class,
     responseContainer = "Set")
 @ApiResponses({@ApiResponse(code = 403, message = "User isn't admin.")})
 @Override
 public Set<ThreadMemberDto> members(@PathParam("uuid") String uuid) throws BusinessException {
   return threadFacade.members(uuid);
 }