/**
  * Returns a structured response.
  * 
  * @param	integer		$responseID
  * @return	\wcf\data\comment\response\StructuredCommentResponse
  */
 public static function getResponse($responseID)
 {
     $response = new CommentResponse($responseID);
     if (!$response->responseID) {
         return null;
     }
     // prepare structured response
     $response = new StructuredCommentResponse($response);
     // add user profile
     $userProfile = UserProfile::getUserProfile($response->userID);
     $response->setUserProfile($userProfile);
     return $response;
 }
 /**
  * Renders a response.
  * 
  * @param	\wcf\data\comment\response\CommentResponse	$response
  * @return	string
  */
 protected function renderResponse(CommentResponse $response)
 {
     $response = new StructuredCommentResponse($response);
     $response->setIsDeletable($this->commentProcessor->canDeleteResponse($response->getDecoratedObject()));
     $response->setIsEditable($this->commentProcessor->canEditResponse($response->getDecoratedObject()));
     // set user profile
     if ($response->userID) {
         $userProfile = UserProfile::getUserProfile($response->userID);
         $response->setUserProfile($userProfile);
     }
     // render response
     WCF::getTPL()->assign(array('responseList' => array($response), 'commentManager' => $this->commentProcessor));
     return WCF::getTPL()->fetch('commentResponseList');
 }