original_string: public function getSubject()
      {
          if (null === $this->subject && $this->request) {
              $id = $this->request->get($this->getIdParameter());
              if (null === $id || !preg_match('#^[0-9A-Za-z/\-_]+$#', $id)) {
                  $this->subject = false;
              } else {
                  if (!UUIDHelper::isUUID($id)) {
                      $id = PathHelper::absolutizePath($id, '/');
                  }
                  $this->subject = $this->getObject($id);
              }
          }
  
          return $this->subject;
      }
code: public function getSubject()
      {
          if (null === $this->subject && $this->request) {
              $id = $this->request->get($this->getIdParameter());
              if (null === $id || !preg_match('#^[0-9A-Za-z/\-_]+$#', $id)) {
                  $this->subject = false;
              } else {
                  if (!UUIDHelper::isUUID($id)) {
                      $id = PathHelper::absolutizePath($id, '/');
                  }
                  $this->subject = $this->getObject($id);
              }
          }
  
          return $this->subject;
      }
code_tokens: public function getSubject ( ) { if ( null === $ this -> subject && $ this -> request ) { $ id = $ this -> request -> get ( $ this -> getIdParameter ( ) ) ; if ( null === $ id || ! preg_match ( '#^[0-9A-Za-z/\-_]+$#' , $ id ) ) { $ this -> subject = false ; } else { if ( ! UUIDHelper :: isUUID ( $ id ) ) { $ id = PathHelper :: absolutizePath ( $ id , '/' ) ; } $ this -> subject = $ this -> getObject ( $ id ) ; } } return $ this -> subject ; }
docstring: Get subject.
  
  Overridden to allow a broader set of valid characters in the ID, and
  if the ID is not a UUID, to call absolutizePath on the ID.
  
  @return mixed
docstring_tokens: Get subject .