class StaticNotifyProperties {

    private Map<String, List<NotifierProperties>> configs = new ConcurrentHashMap<>();

    private Map<String, List<TemplateProperties>> templates = new ConcurrentHashMap<>();

    public Optional<NotifierProperties> getNotifierProperties(NotifyType type,String id){
        List<NotifierProperties> properties= configs.get(type.getId());
        if(properties == null){
            return Optional.empty();
        }
        return properties
            .stream()
            .filter(prop-> {
                prop.setType(type.getId());
                return Objects.equals(id,prop.getId());
            })
            .findAny();
    }

    public Optional<TemplateProperties> getTemplateProperties(NotifyType type,String id){<FILL_FUNCTION_BODY>}

    @Setter
    @Getter
    public static class ObjectTemplateProperties extends TemplateProperties{
         private Map<String,Object> templateObject;

        public void setTemplateObject(Map<String, Object> templateObject) {
            this.templateObject = templateObject;
            this.setTemplate(templateObject);
        }
    }

}

        List<TemplateProperties> properties= templates.get(type.getId());
        if(properties==null){
            return Optional.empty();
        }
        return properties
            .stream()
            .filter(prop-> {
                prop.setType(type.getId());
                return Objects.equals(id,prop.getId());
            })
            .findAny();
    
<no_super_class>