@Override public <ArgumentType> void addArguments(final IArgumentContext<ArgumentType> context) { if (!context.addDataType(this)) return; addEAnnotationArguments(context); if (context.isResultFound()) return; /* * Avoid recursion when resolving the "type" argument!!! */ if (!Constants.ARG_TYPE.equals(context.getName())) { final String type = context.getType(); if (type != null && type.length() > 0) { IManager.Factory.getManager() .addArgumentProviderArguments(this.getArgumentProvider(type), context); if (context.isResultFound()) return; } } IManager.Factory.getManager() .addArgumentProviderArguments(this.getArgumentProvider(null), context); }