// annotate messages
Map<String,Message> newM = newP.getMessages();
for (Message m : p.getMessages().values())
newM.put(m.getName(), m.isOneWay()
? newP.createMessage(m.getName(), m.getDoc(), m.getJsonProps(),
addStringType(m.getRequest(), types))
: newP.createMessage(m.getName(), m.getDoc(), m.getJsonProps(),
addStringType(m.getRequest(), types),
addStringType(m.getResponse(), types),
addStringType(m.getErrors(), types)));