original_string: protected static function getInstance()
      {
          $type = self::getType();
          $appID = App::getCurrentID();
          $complementID = self::getCurrentID();
          $complement = get_called_class();
          if (! isset(self::$instances[$appID][$type][$complementID])) {
              self::$instances[$appID][$type][$complementID] = new $complement();
          }
  
          return self::$instances[$appID][$type][$complementID];
      }
code: protected static function getInstance()
      {
          $type = self::getType();
          $appID = App::getCurrentID();
          $complementID = self::getCurrentID();
          $complement = get_called_class();
          if (! isset(self::$instances[$appID][$type][$complementID])) {
              self::$instances[$appID][$type][$complementID] = new $complement();
          }
  
          return self::$instances[$appID][$type][$complementID];
      }
code_tokens: protected static function getInstance ( ) { $ type = self :: getType ( ) ; $ appID = App :: getCurrentID ( ) ; $ complementID = self :: getCurrentID ( ) ; $ complement = get_called_class ( ) ; if ( ! isset ( self :: $ instances [ $ appID ] [ $ type ] [ $ complementID ] ) ) { self :: $ instances [ $ appID ] [ $ type ] [ $ complementID ] = new $ complement ( ) ; } return self :: $ instances [ $ appID ] [ $ type ] [ $ complementID ] ; }
docstring: Get complement instance.
  
  @uses \Eliasis\Framework\App::getCurrentID()
  @uses \Eliasis\Complement\ComplementHandler::getType()
  
  @return object → complement instance
docstring_tokens: Get complement instance .