original_string: public function acquire_lock($key) {
          $key = $this->parse_key($key);
          if ($this->nativelocking) {
              return $this->get_store()->acquire_lock($key, $this->get_identifier());
          } else {
              $this->ensure_cachelock_available();
              return $this->cachelockinstance->lock($key, $this->get_identifier());
          }
      }
code: public function acquire_lock($key) {
          $key = $this->parse_key($key);
          if ($this->nativelocking) {
              return $this->get_store()->acquire_lock($key, $this->get_identifier());
          } else {
              $this->ensure_cachelock_available();
              return $this->cachelockinstance->lock($key, $this->get_identifier());
          }
      }
code_tokens: public function acquire_lock ( $ key ) { $ key = $ this -> parse_key ( $ key ) ; if ( $ this -> nativelocking ) { return $ this -> get_store ( ) -> acquire_lock ( $ key , $ this -> get_identifier ( ) ) ; } else { $ this -> ensure_cachelock_available ( ) ; return $ this -> cachelockinstance -> lock ( $ key , $ this -> get_identifier ( ) ) ; } }
docstring: Acquires a lock on the given key.
  
  This is done automatically if the definition requires it.
  It is recommended to use a definition if you want to have locking although it is possible to do locking without having
  it required by the definition.
  The problem with such an approach is that you cannot ensure that code will consistently use locking. You will need to
  rely on the integrators review skills.
  
  @param string|int $key The key as given to get|set|delete
  @return bool Returns true if the lock could be acquired, false otherwise.
docstring_tokens: Acquires a lock on the given key .