/** * * @param predecessor * @param descriptionsFileName * @param controller * @return * @throws IOException * @throws IllegalStateException * @throws AnalysisConfigurationException */ private static <P extends AbstractPlugin & IGraphOutputtingFilter<?>> DescriptionDecoratorFilter<?, ?, ?> createDescriptionDecoratorFilter( final P predecessor, final String descriptionsFileName, final AnalysisController controller) throws IOException, IllegalStateException, AnalysisConfigurationException { final DescriptionRepository descriptionRepository = DescriptionRepository.createFromFile(descriptionsFileName, controller); @SuppressWarnings("rawtypes") final DescriptionDecoratorFilter<?, ?, ?> descriptionFilter = new DescriptionDecoratorFilter( new Configuration(), controller); PerformAnalysis.connectGraphFilters(predecessor, descriptionFilter, controller); controller.connect(descriptionFilter, DescriptionDecoratorFilter.DESCRIPTION_REPOSITORY_PORT_NAME, descriptionRepository); return descriptionFilter; }