public static String getTypeName(final Type type) {
String typeName = "";
typeName = type.simpleTypeName();
ParameterizedType pt = type.asParameterizedType();
if (pt != null && pt.typeArguments() != null
&& pt.typeArguments().length > 0) {
typeName += "[";
for (int i = 0; i < pt.typeArguments().length; i++) {
typeName += pt.typeArguments()[i].simpleTypeName();
if (i < pt.typeArguments().length - 1) {