contract WhitelistedCrowdsale is Whitelist, Crowdsale {
  /**
   * @dev Extend parent behavior requiring beneficiary to be in whitelist.
   * @param _beneficiary Token beneficiary
   * @param _weiAmount Amount of wei contributed
   */
  function _preValidatePurchase(
    address _beneficiary,
    uint256 _weiAmount
  )
    internal
    onlyIfWhitelisted(_beneficiary)
  {
    super._preValidatePurchase(_beneficiary, _weiAmount);
  }

}
/**
 * @title WhitelistedCrowdsale
 * @dev Crowdsale in which only whitelisted users can contribute.
 */
function _preValidatePurchase(
  address _beneficiary,
  uint256 _weiAmount
)
  internal
  onlyIfWhitelisted(_beneficiary)
{
  super._preValidatePurchase(_beneficiary, _weiAmount);
}

/**
 * @dev Extend parent behavior requiring beneficiary to be in whitelist.
 * @param _beneficiary Token beneficiary
 * @param _weiAmount Amount of wei contributed
 */