You can create an adapter implementation that wraps the original type and implements the interface, but that can be a lot of excess boilerplate, especially if you still need full access to the object's other methods in surrounding context and don't want to keep wrapping and unwrapping it.