function revokeVesting(address _token, address _vester) 
        external
    {
        require(_token != 0);
        require(_vester != 0);

        Grant storage _grant = grantPerTokenGranterVester[_token][msg.sender][_vester];

        
        require(_grant.vestedAmount!=0);

        
        sendTokenReleasedToBalanceInternal(_token, msg.sender, _vester);

        
        balancePerPersonPerToken[_token][msg.sender] = 
            balancePerPersonPerToken[_token][msg.sender].add(
                _grant.vestedAmount.sub(_grant.withdrawnAmount)
            );

        
        delete grantPerTokenGranterVester[_token][msg.sender][_vester];

        GrantRevoked(msg.sender, _vester, _token);
    }