private <T, S extends ResponseObjectBuilder<T>> T parseMap( S builder, Map<String, Reply> response) { for (Map.Entry<String, Reply> entry : response.entrySet()) { String method = buildSetterName(entry.getKey()); Class valueType = getObjectClass(entry.getValue()); builder.set(method, entry.getValue(), valueType); } return builder.build(); }
public <T, S extends ResponseObjectBuilder<T>> T parse(S builder, Object response) { return response instanceof Map ? parseMap(builder, (Map<String, Reply>) response) : builder.build(); }