original_string: public static function factory($aOptions){
  		if($aOptions instanceof \Traversable)$aOptions = \Zend\Stdlib\ArrayUtils::iteratorToArray($aOptions);
  		elseif(!is_array($aOptions))throw new \InvalidArgumentException(__METHOD__.' expects an array or Traversable object; received "'.(is_object($aOptions)?get_class($aOptions):gettype($aOptions)).'"');
  
  		$oBrowscapService = new static();
  
  		//Browscap.ini file path
  		if(isset($aOptions['browscap_ini_path']))$oBrowscapService->setBrowscapIniPath($aOptions['browscap_ini_path']);
  
  		//Cache
  		if(isset($aOptions['cache']))$oBrowscapService->setCache($aOptions['cache']);
  
  		if(isset($aOptions['allows_native_get_browser']))$oBrowscapService->setAllowsNativeGetBrowser(!!$aOptions['allows_native_get_browser']);
  
  		return $oBrowscapService;
  	}
code: public static function factory($aOptions){
  		if($aOptions instanceof \Traversable)$aOptions = \Zend\Stdlib\ArrayUtils::iteratorToArray($aOptions);
  		elseif(!is_array($aOptions))throw new \InvalidArgumentException(__METHOD__.' expects an array or Traversable object; received "'.(is_object($aOptions)?get_class($aOptions):gettype($aOptions)).'"');
  
  		$oBrowscapService = new static();
  
  		//Browscap.ini file path
  		if(isset($aOptions['browscap_ini_path']))$oBrowscapService->setBrowscapIniPath($aOptions['browscap_ini_path']);
  
  		//Cache
  		if(isset($aOptions['cache']))$oBrowscapService->setCache($aOptions['cache']);
  
  		if(isset($aOptions['allows_native_get_browser']))$oBrowscapService->setAllowsNativeGetBrowser(!!$aOptions['allows_native_get_browser']);
  
  		return $oBrowscapService;
  	}
code_tokens: public static function factory ( $ aOptions ) { if ( $ aOptions instanceof \ Traversable ) $ aOptions = \ Zend \ Stdlib \ ArrayUtils :: iteratorToArray ( $ aOptions ) ; elseif ( ! is_array ( $ aOptions ) ) throw new \ InvalidArgumentException ( __METHOD__ . ' expects an array or Traversable object; received "' . ( is_object ( $ aOptions ) ? get_class ( $ aOptions ) : gettype ( $ aOptions ) ) . '"' ) ; $ oBrowscapService = new static ( ) ; //Browscap.ini file path if ( isset ( $ aOptions [ 'browscap_ini_path' ] ) ) $ oBrowscapService -> setBrowscapIniPath ( $ aOptions [ 'browscap_ini_path' ] ) ; //Cache if ( isset ( $ aOptions [ 'cache' ] ) ) $ oBrowscapService -> setCache ( $ aOptions [ 'cache' ] ) ; if ( isset ( $ aOptions [ 'allows_native_get_browser' ] ) ) $ oBrowscapService -> setAllowsNativeGetBrowser ( ! ! $ aOptions [ 'allows_native_get_browser' ] ) ; return $ oBrowscapService ; }
docstring: Instantiate AccessControl Authentication Service
  @param array|Traversable $aConfiguration
  @param \Zend\ServiceManager\ServiceLocatorInterface $oServiceLocator
  @throws \InvalidArgumentException
  @return \BoilerAppAccessControl\Authentication\AccessControlAuthenticationService
docstring_tokens: Instantiate AccessControl Authentication Service