if(optional.isPresent()){ key = key.replaceAll(pattern.pattern(),""); ensureListNotNullAndSize(key,map,optional.get()).set(optional.get(),value); }else { map.put(key,value); if(optional.isPresent()){ key = key.replaceAll(pattern.pattern(),""); List<Object> list = ensureListNotNullAndSize(key,map,optional.get()); if(list.get(optional.get()) == null){ list.set(optional.get(),new HashMap<String, Object>());