contract TokenRecover is Ownable {

    /**
     * @dev Remember that only owner can call so be careful when use on contracts generated from other contracts.
     * @param tokenAddress The token contract address
     * @param tokenAmount Number of tokens to be sent
     */
    function recoverERC20(address tokenAddress, uint256 tokenAmount) internal onlyOwner {
        IERC20(tokenAddress).transfer(owner(), tokenAmount);
    }
}
/**
 * @title TokenRecover
 * @author Vittorio Minacori (https://github.com/vittominacori)
 * @dev Allow to recover any ERC20 sent into the contract for error
 */
function recoverERC20(address tokenAddress, uint256 tokenAmount) internal onlyOwner {
        IERC20(tokenAddress).transfer(owner(), tokenAmount);
    }
/**
 * @dev Remember that only owner can call so be careful when use on contracts generated from other contracts.
 * @param tokenAddress The token contract address
 * @param tokenAmount Number of tokens to be sent
 */