import java.util.ArrayList; abstract class Test { public void some(final ArrayList> rules, final Context context) { rules.add (createRule(context)); } abstract ProcessingRule createRule(Context context); } interface ProcessingRule {} class Context {}