Also advise if I should throw RuntimeException if the method is not found or should I wrap 
```
int tag = (Integer) m.invoke(value);
fromInt.put(tag, value);
toInt.put(value, tag);
```
in another try-catch just to be safe.