original_string: public function get($key = null)
      {
          $this->_prepareData($key);
          $data = null;
  
          if (is_null($key)) {
              $data = $this->_DATA;
          } elseif (array_key_exists($key, $this->_DATA)) {
              $data = $this->_DATA[$key];
          }
  
          if ($this->_getPreparationOn) {
              return $this->_dataPreparation($key, $data, $this->_dataRetrieveCallbacks);
          }
          return $data;
      }
code: public function get($key = null)
      {
          $this->_prepareData($key);
          $data = null;
  
          if (is_null($key)) {
              $data = $this->_DATA;
          } elseif (array_key_exists($key, $this->_DATA)) {
              $data = $this->_DATA[$key];
          }
  
          if ($this->_getPreparationOn) {
              return $this->_dataPreparation($key, $data, $this->_dataRetrieveCallbacks);
          }
          return $data;
      }
code_tokens: public function get ( $ key = null ) { $ this -> _prepareData ( $ key ) ; $ data = null ; if ( is_null ( $ key ) ) { $ data = $ this -> _DATA ; } elseif ( array_key_exists ( $ key , $ this -> _DATA ) ) { $ data = $ this -> _DATA [ $ key ] ; } if ( $ this -> _getPreparationOn ) { return $ this -> _dataPreparation ( $ key , $ data , $ this -> _dataRetrieveCallbacks ) ; } return $ data ; }
docstring: return data for given key if exist in object
  or null if key was not found
  
  @param string|null $key
  @return mixed
docstring_tokens: return data for given key if exist in object or null if key was not found