original_string: public function shift()
      {
          $this->internalDataListUpdate();
          if (isset($this->internalDataListData[0])) {
              $this->internalDataListUpdateValueIfNeeded($this->internalDataListData, 0);
              return array_shift($this->internalDataListData);
          }
          return null;
      }
code: public function shift()
      {
          $this->internalDataListUpdate();
          if (isset($this->internalDataListData[0])) {
              $this->internalDataListUpdateValueIfNeeded($this->internalDataListData, 0);
              return array_shift($this->internalDataListData);
          }
          return null;
      }
code_tokens: public function shift ( ) { $ this -> internalDataListUpdate ( ) ; if ( isset ( $ this -> internalDataListData [ 0 ] ) ) { $ this -> internalDataListUpdateValueIfNeeded ( $ this -> internalDataListData , 0 ) ; return array_shift ( $ this -> internalDataListData ) ; } return null ; }
docstring: Shift an object off the beginning of the list.
  
  @return object|null Returns the shifted object or null if the list is empty.
  @throws \InvalidArgumentException
docstring_tokens: Shift an object off the beginning of the list .