code: private Set<Field> getItemFields() {
  		Class next = Item.class;
  		Set<Field> fields = new HashSet<>(getFields(next));
  		while (next.getSuperclass() != Object.class) {
  			next = next.getSuperclass();
  			fields.addAll(getFields(next));
  		}
  		return fields;
  	}
docs: get all fields for item class and all of it's super classes