return (S)this;
}
public static Class<? extends Keyed> getKeyedClass(Class<? extends KeyV3> clz) {
if (clz == KeyV3.class)
return Keyed.class;
<BUG>return (Class<? extends Keyed>) ReflectionUtils.findActualClassParameter(clz, 2);
}</BUG>
public Class<? extends Keyed> getKeyedClass() {
return getKeyedClass(this.getClass());
}

return (S)this;
}
public static Class<? extends Keyed> getKeyedClass(Class<? extends KeyV3> clz) {
if (clz == KeyV3.class)
return Keyed.class;
return ReflectionUtils.findActualClassParameter(clz, 2);
}
public Class<? extends Keyed> getKeyedClass() {
return getKeyedClass(this.getClass());
}
