private void fillFieldContent(Object object, Map<String, Object> properties, Class<?> clazz) { if (clazz != AbstractGatewayPacket.class && clazz != Object.class && clazz != null) { Field[] fields = clazz.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { String name = fields[i].getName(); if ((fields[i].getModifiers() & Modifier.STATIC) == 0 && (fields[i].getModifiers() & Modifier.PUBLIC) != 0) { Object value = properties.get(name); if (value != null) { try { if (ParameterMapping.isPrimitiveType(fields[i].getType())) { value = ParameterMapping.deStringize(fields[i].getType(), (String) value); fields[i].setAccessible(true); fields[i].set(object, value); } else { } } catch (Exception e) { e.printStackTrace(); } } } } fillFieldContent(object, properties, clazz.getSuperclass()); } }