} else if (clazz.equals(String.class)) {
return new StringValueWriter(name, clazz, currentDepth, this);
} else if (clazz.isEnum()) {
return new EnumValueWriter(name, clazz, currentDepth, this);
} else if (List.class.isAssignableFrom(clazz)) {
return new ListWriter(name, clazz, currentDepth, paramNameIndex, this);
}
//System.out.printf("%s %s\n", name, clazz);
return new DefaultClassWriter(name, clazz, currentDepth, paramNameIndex, this);
}