code: @Path("/musics")
  	@Post
  	public void add(final @NotNull @Valid Music music, UploadedFile file) {
  		validator.onErrorForwardTo(UsersController.class).home();
  
  		musicDao.add(music);
  		
  		User currentUser = userInfo.getUser();
  		userDao.refresh(currentUser);
  		
  		currentUser.add(music);
  		
  		// is there a file?
  		if (file != null) {
  		    // Let's save the file
  			musics.save(file, music);
  			logger.info("Uploaded file: {}", file.getFileName());
  		}
  
  		// you can add objects to result even in redirects. Added objects will
  		// survive one more request when redirecting.
  		result.include("notice", music.getTitle() + " music added");
  
  		result.redirectTo(UsersController.class).home();
  	}
docs: Accepts HTTP POST requests.
  
  URL:  /musics
  View: /WEB-INF/jsp/music/add.jsp
  
  The method adds a new music and updates the user.
  We use POST HTTP verb when we want to create some resource.
  
  The <code>UploadedFile</code> is automatically handled
  by VRaptor's <code>MultipartInterceptor</code>.