private Object getObject(String[] strFields, Object o) throws IllegalAccessException {
        Field[] f = o.getClass().getDeclaredFields();

        for (int i = 0; i < f.length; i++) {
            f[i].setAccessible(true);
            if (f[i].getType().equals(String.class)) {
            f[i].set(o, strFields[i]);
            } else if (f[i].getType().equals(int.class)) {
            f[i].set(o, Integer.parseInt(strFields[i]));
            } else if (f[i].getType().equals(long.class)) {
            f[i].set(o, Long.parseLong(strFields[i]));
            } else if (f[i].getType().equals(byte.class)) {
            f[i].set(o, Byte.parseByte(strFields[i]));
            } else if (f[i].getType().equals(double.class)) {
            f[i].set(o, Double.parseDouble(strFields[i]));
            } else if (f[i].getType().equals(float.class)) {
            f[i].set(o, Float.parseFloat(strFields[i]));
            } else if (f[i].getType().equals(short.class)) {
            f[i].set(o, Short.parseShort(strFields[i]));
            } else if (f[i].getType().equals(boolean.class)) {
            f[i].set(o, Boolean.parseBoolean(strFields[i]));
            }
        }

        return o;
    }