original_string: private function _isConcreteType(int $tag): bool
      {
          // if tag doesn't match
          if ($this->tag() != $tag) {
              return false;
          }
          // if type is universal check that instance is of a correct class
          if ($this->typeClass() == Identifier::CLASS_UNIVERSAL) {
              $cls = self::_determineUniversalImplClass($tag);
              if (!$this instanceof $cls) {
                  return false;
              }
          }
          return true;
      }
code: private function _isConcreteType(int $tag): bool
      {
          // if tag doesn't match
          if ($this->tag() != $tag) {
              return false;
          }
          // if type is universal check that instance is of a correct class
          if ($this->typeClass() == Identifier::CLASS_UNIVERSAL) {
              $cls = self::_determineUniversalImplClass($tag);
              if (!$this instanceof $cls) {
                  return false;
              }
          }
          return true;
      }
code_tokens: private function _isConcreteType ( int $ tag ) : bool { // if tag doesn't match if ( $ this -> tag ( ) != $ tag ) { return false ; } // if type is universal check that instance is of a correct class if ( $ this -> typeClass ( ) == Identifier :: CLASS_UNIVERSAL ) { $ cls = self :: _determineUniversalImplClass ( $ tag ) ; if ( ! $ this instanceof $ cls ) { return false ; } } return true ; }
docstring: Check whether the element is a concrete type of a given tag.
  
  @param int $tag
  @return bool
docstring_tokens: Check whether the element is a concrete type of a given tag .