contract PausableCrowdsale is Crowdsale, Pausable {
	/**
	 * @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met.
	 * Use super to concatenate validations.
	 * Adds the validation that the crowdsale must not be paused.
	 * @param _beneficiary Address performing the token purchase
	 * @param _tokenAmount Value in token involved in the purchase
	 */
	function _preValidatePurchase(address _beneficiary, uint256 _tokenAmount)
		internal
		view
		whenNotPaused
	{
		return super._preValidatePurchase(_beneficiary, _tokenAmount);
	}
}
/**
 * @title PausableCrowdsale
 * @dev Extension of Crowdsale contract where purchases can be paused and unpaused by the pauser role.
 */
function _preValidatePurchase(address _beneficiary, uint256 _tokenAmount)
	internal
	view
	whenNotPaused
{
	return super._preValidatePurchase(_beneficiary, _tokenAmount);
}

/**
 	 * @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met.
 	 * Use super to concatenate validations.
 	 * Adds the validation that the crowdsale must not be paused.
 	 * @param _beneficiary Address performing the token purchase
 	 * @param _tokenAmount Value in token involved in the purchase
 	 */