Suppose I have a POJO A and some client code that serves it. I have created POJO B, which doesn't have anything in common with A, but I want to use it in the methods that use A, so I decided to create a marker interface C, that both implement and change the signature of the methods to serve them both.
Considering that apart from being able to be served by those methods, these two POJO don't have one field or method in common, should they really be considered as part of some interface, that I understand defines a contract or behaviour? Since this "contract C" does not specify any behaviour is it a contract at all? How does Liskov Substitution Principle define this? You could say that both POJOs can be replaced by C in these methods, meaning nothing breaks, so it sounds like the rule is not broken at all.