Error "Duplicate key found for a property" - most likely due to a specific

Hello,

My issue is most likely caused by a specific inheritance hierarchy of the custom libraries I’m using.

For the sake of clarity, let’s assume the following hierarchy:

interface Dog extends Pet {
	// 
}


interface Pet extends DomesticAnimal, Animal {
	// 
}


interface DomesticAnimal extends CanFly {
	boolean getCanFly();
	void setCanFly(boolean val);
}


interface Animal extends CanFly {
	boolean getCanFly();
	void setCanFly(boolean val);
}

As you can see, it happens that Pet extends both DomesticAnimal and Animal, which in turn both extend CanFly interface, and therefore the property canFly gets duplicated. Vaading doesn’t like this and therefore complains when I try to create a Binder<Dog> instance.

My question is: Is there any way to work around this issue because I can’t do anything about the other side?

I posted a question about this issue on StackOverflow and someone just suggested it might be a bug in Vaadin:

https://stackoverflow.com/questions/64765715/java-interface-inherits-from-two-other-interfaces-is-it-possible-to-by-using/64767830#64767830