import java.util.Map; class Test { void bar(Prop p) { Map extends String, ? extends String> map = (Map extends String, ? extends String>)p; } } abstract class Hashtble implements Map {} abstract class Prop extends Hashtble{}