original_string: static protected function checkSerializer_( $serializer ):void
  	{
  		if(!(
  			(
  				is_object( $serializer )
  			&&
  				$serializer instanceof S\ASerializer
  			)
  		or
  			(
  				is_string( $serializer )
  			&&
  				class_exists( $serializer )
  			&&
  				isset( class_parents( $serializer )[S\ASerializer::class] )
  			)
  		)){
  			$caller= debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS, 2 )[1];
  
  			throw new \TypeError(
  				"Argument 2 passed to {$caller['class']}{$caller['type']}{$caller['function']}() must be an class extends ".S\ASerializer::class.' or it\'s instance'
  			);
  		}
  	}
code: static protected function checkSerializer_( $serializer ):void
  	{
  		if(!(
  			(
  				is_object( $serializer )
  			&&
  				$serializer instanceof S\ASerializer
  			)
  		or
  			(
  				is_string( $serializer )
  			&&
  				class_exists( $serializer )
  			&&
  				isset( class_parents( $serializer )[S\ASerializer::class] )
  			)
  		)){
  			$caller= debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS, 2 )[1];
  
  			throw new \TypeError(
  				"Argument 2 passed to {$caller['class']}{$caller['type']}{$caller['function']}() must be an class extends ".S\ASerializer::class.' or it\'s instance'
  			);
  		}
  	}
code_tokens: static protected function checkSerializer_ ( $ serializer ) : void { if ( ! ( ( is_object ( $ serializer ) && $ serializer instanceof S \ ASerializer ) or ( is_string ( $ serializer ) && class_exists ( $ serializer ) && isset ( class_parents ( $ serializer ) [ S \ ASerializer :: class ] ) ) ) ) { $ caller = debug_backtrace ( DEBUG_BACKTRACE_IGNORE_ARGS , 2 ) [ 1 ] ; throw new \ TypeError ( "Argument 2 passed to {$caller['class']}{$caller['type']}{$caller['function']}() must be an class extends " . S \ ASerializer :: class . ' or it\'s instance' ) ; } }
docstring: Static method checkSerializer_
  
  @static
  
  @access protected
  
  @param  mixed $serializer
  
  @return void
docstring_tokens: Static method checkSerializer_