Díky všem, tušení, že to nepůjde lehce jsem měl ;)
zřejmě půjdu cestou jakou navrhoval Tomáš Záluský, tedy interface Plugin<T> { boolean execute(T param); Class<T> getParamType(); } další variantou je chytat ClassCastException při volaní execute, ale to by asi mohlo způsobovat výkonnostní problémy - co vy nato? -- Martin Beránek