question: private String createNewReview ( TaskData taskData , AppraisePluginReviewClient client ) throws CoreException { boolean canRequestReview = client . canRequestReview ( taskData ) ; if ( ! canRequestReview ) { throw new CoreException ( Status . CANCEL_STATUS ) ; } String taskId = null ; try { Review review = buildReviewFromTaskData ( taskData ) ; review . setTimestamp ( System . currentTimeMillis ( ) / 1000 ) ; String reviewCommitHash = getReviewCommitHash ( taskData ) ; taskId = client . writeReview ( reviewCommitHash , review ) ; if ( taskId == null ) { throw new CoreException ( Status . CANCEL_STATUS ) ; } } catch ( GitClientException e ) { throw new CoreException ( new Status ( IStatus . ERROR , AppraiseConnectorPlugin . PLUGIN_ID , "Failed to write review" , e ) ) ; } return taskId ; }
target:  Helper method for creating a new review and writing it out.