public PrimitiveOrMap process(Primitive s){
if(s == null)
return null;
if(s.isString() == false)
return new PrimitiveOrMap(s);
try{
Map<String,Primitive> prelimMap;
prelimMap= (Map<String,Primitive>) gsonMap.parse(s.getString());
PrimitiveOrMap sm = new PrimitiveOrMap(new HashMap<String,PrimitiveOrMap>());
if(prelimMap == null)
throw new JsonParseException("Null prelimMap");
for(String key:prelimMap.keySet()){
Primitive val = prelimMap.get(key);
PrimitiveOrMap valSM;
valSM = process(val);
sm.getSecond().put(key, valSM);
}
return sm;
}
catch(JsonParseException e){
return new PrimitiveOrMap(s);
}
}