True. Moreover, as line 109 suggests I am indeed removing multiple tags. 

However, it is easy to configure which tags are to be removed.

If ```overwriteVersion = true``` and the version in ```bower.json``` is set to ```v1.2.17-build.205```, then ```v1.2.17-build.205+sha1``` and '```v1.2.17-build.205+sha will be removed```. In other words, all the tags whose name starts with ``````v1.2.17-build.205``` will be removed.

I don't foresee any problems here.

However, if ```overwriteVersion = true``` and the version in ```bower.json``` is ```v1.3.0```, then ```v1.3.0-build.2770+sha.2859fc4``` and ```v1.3.0-build.2769``` will be deleted.

If you consider this behaviour (deleting tags whose name starts with ```bowerJSON.version``` if ```overwriteVersion=true```) to be too dangerous, then I propose another approach. Given that we suffix tags with ```+[timestamp]``` when ```overwriteVersion=true```, then we should delete only tags whose name pattern is ```[bowerJSON.version]+```. For example, if ```bower.json``` has the version of ```1.0.0-SNAPSHOT```, then we will delete the following tags:

```
1.0.0-SNAPSHOT+1
1.0.0-SNAPSHOT+2
```

but not ```1.0.0-SNAPSHOT.a```