original_string: public function setMetadata($key, $data = null)
      {
          if (is_null($data)) {
              unset($this->_metadata[$key]);
          } else {
              $this->_metadata[$key] = $data;
          }
      }
code: public function setMetadata($key, $data = null)
      {
          if (is_null($data)) {
              unset($this->_metadata[$key]);
          } else {
              $this->_metadata[$key] = $data;
          }
      }
code_tokens: public function setMetadata ( $ key , $ data = null ) { if ( is_null ( $ data ) ) { unset ( $ this -> _metadata [ $ key ] ) ; } else { $ this -> _metadata [ $ key ] = $ data ; } }
docstring: Set a piece of metadata on this object.
  
  @param string $key  The metadata key.
  @param mixed $data  The metadata. If null, clears the key.
docstring_tokens: Set a piece of metadata on this object .