You should consider throwing an exception instead of returning a boolean as a success indicator (e.g. DuplicateEntryException). It sounds like when the value is already in the bag, the method cannot complete (it fails). This is what exceptions are for, you really shouldn't be using boolean return values to indicate success or failure.
This does mean that both the Iset method and the BoundedBag method should be declared to throw the exception.
Incidentally, if the method has the same semantics in Iset and BoundedBag, why doesn't BoundedBag implement Iset?
If the semantics are different for the two methods, you shouldn't try to make their signatures the same - it's asking for trouble. You should explicitly differentiate them by changing the name of one or both (let's face it, 'add(int)' is likely to cause clashes). Why not addItem(..) or even addBagItem(..), etc.