private void validateEventGroupBuildingBlock(IEventGroupBuildingBlock eventGroups, IMoleculeBuildingBlock moleculeBuildingBlock, ValidationResult validationResult)
        {
            var allMolecules = moleculeBuildingBlock.Select(mb => mb.Name);

            foreach (var eventGroup in eventGroups)
            {
                var applicationBuilders = eventGroup.GetAllContainersAndSelf <IApplicationBuilder>();
                foreach (var applicationBuilder in applicationBuilders.Where(applicationBuilder => !allMolecules.Contains(applicationBuilder.MoleculeName)))
                {
                    validationResult.AddMessage(NotificationType.Error, applicationBuilder, Validation.ApplicatedMoleculeNotPresent(applicationBuilder.MoleculeName, applicationBuilder.Name, moleculeBuildingBlock.Name), eventGroups);
                }
            }

            validateBuildingBlockWithFormulaCache(eventGroups, validationResult);
        }