code: protected List<Field> getWholeFieldList(Class<?> clazz) {
          final List<Field> fieldList = new ArrayList<Field>();
          for (Class<?> target = clazz; target != null && target != Object.class; target = target.getSuperclass()) {
              final Field[] fields = target.getDeclaredFields();
              for (Field method : fields) {
                  fieldList.add(method);
              }
          }
          return fieldList;
      }
docs: ==============