original_string: protected function prepare($action, Composer $composer, IOInterface $io, $pluginName)
      {
          $this->composer = $composer;
          $this->io = $io;
          
          if ($this->isPluginExcluded($action, $pluginName)) {
              return $this->excluded($action, $pluginName) && false;
          }
          
          $plugin = $this->getPlugin($pluginName);
          
          if (! $plugin) {
              return $this->failed($action, $pluginName) && false;
          }
          
          $this->executing($action, $pluginName);
          
          return $plugin;
      }
code: protected function prepare($action, Composer $composer, IOInterface $io, $pluginName)
      {
          $this->composer = $composer;
          $this->io = $io;
          
          if ($this->isPluginExcluded($action, $pluginName)) {
              return $this->excluded($action, $pluginName) && false;
          }
          
          $plugin = $this->getPlugin($pluginName);
          
          if (! $plugin) {
              return $this->failed($action, $pluginName) && false;
          }
          
          $this->executing($action, $pluginName);
          
          return $plugin;
      }
code_tokens: protected function prepare ( $ action , Composer $ composer , IOInterface $ io , $ pluginName ) { $ this -> composer = $ composer ; $ this -> io = $ io ; if ( $ this -> isPluginExcluded ( $ action , $ pluginName ) ) { return $ this -> excluded ( $ action , $ pluginName ) && false ; } $ plugin = $ this -> getPlugin ( $ pluginName ) ; if ( ! $ plugin ) { return $ this -> failed ( $ action , $ pluginName ) && false ; } $ this -> executing ( $ action , $ pluginName ) ; return $ plugin ; }
docstring: Prepare plugin interaction.
  
  @param  string  $action
  @param  \Composer\Composer  $composer
  @param  \Composer\IO\IOInterface  $io
  @param  string  $pluginName
  @return string|false
docstring_tokens: Prepare plugin interaction .