@Override
    public void updateBounty(Bounty bounty) throws DataStorageException {
        try {
            PreparedStatement ps = getFreshPreparedStatementColdFromTheRefrigerator("UPDATE bounties SET issuer = ?, hunted = ?, reward = ?, created = ?, hunter = ?, turnedin = ?, redeemed = ? WHERE id = ?");
            ps.setString(1, bounty.getIssuer());
            ps.setString(2, bounty.getHunted());
            ps.setDouble(3, bounty.getReward());
            ps.setTimestamp(4, new Timestamp(bounty.getCreated().getTime()));
            if (bounty.getHunter() == null)
                ps.setNull(5, Types.VARCHAR);
            else
                ps.setString(5, bounty.getHunter());

            if (bounty.getTurnedIn() == null)
                ps.setNull(6, Types.TIMESTAMP);
            else
                ps.setTimestamp(6, new Timestamp(bounty.getTurnedIn().getTime()));

            if (bounty.getRedeemed() == null)
                ps.setNull(7, Types.TIMESTAMP);
            else
                ps.setTimestamp(7, new Timestamp(bounty.getRedeemed().getTime()));
            ps.setInt(8, bounty.getID());

            ps.execute();
        } catch (SQLException e) {
            throw new DataStorageException(e);
        }
    }