private static Map<String,Object> addMapObject(Map<String,Object> props,String key){
  Object v=props.get(key);
  if (v == null)   return props;
  List<String> val=new ArrayList<>();
  if (v instanceof String[]) {
    val.addAll(Arrays.asList((String[])v));
  }
 else {
    val.add(v.toString());
  }
  if (val.size() > 0) {
    ArrayList<Map> l=new ArrayList<>();
    for (    String rule : val)     l.add(Rule.parseRule(rule));
    props.put(key,l);
  }
  return props;
}

private static Map < String , Object > addMapObject ( Map < String , Object > props , String key ) { Object v = props . get ( key ) ; if ( v == null ) return props ; List < String > val = new ArrayList < > ( ) ; if ( v instanceof String [ ] ) { val . addAll ( Arrays . asList ( ( String [ ] ) v ) ) ; } else { val . add ( v . toString ( ) ) ; } if ( val . size ( ) > 0 ) { ArrayList < Map > l = new ArrayList < > ( ) ; for ( String rule : val ) l . add ( Rule . parseRule ( rule ) ) ; props . put ( key , l ) ; } return props ; }
converts a string of the form a : b , c : d to a map
