private void crawlerJobImageRetrievedEvent(ICrawlerJob crawlerJob, CrawlerImage crawlerImage) { if (!this.decoupleEvents && crawlerImage != null) { //processinformation -> inside the monitor CrawlerProcessInformation crawlerProcessInformation = this.determineCrawlerProcessInformationForCrawlerJob(crawlerJob); if (crawlerProcessInformation != null) { crawlerProcessInformation.triggerCrawlerProcessInformationNewImageEvent(crawlerImage); } //some other components of the controller -> outside of the monitor if (this.imageRetrievedEvent != null) { this.imageRetrievedEvent(crawlerJob, crawlerImage.asEventArg()); } } }