code: @SuppressWarnings("unchecked")
  	public static FieldSpec<SaveInstanceStateAnn>[] getSaveInstanceSpecs(Class<?> cls) {
  		FieldSpec<SaveInstanceStateAnn>[] specs = SAVE_INSTANCE_SPECS.get(cls);
  		if (specs == null) {
  			ArrayList<FieldSpec<SaveInstanceStateAnn>> list = new ArrayList<FieldSpec<SaveInstanceStateAnn>>();
  			for (Field field : getFieldHierarchy(cls)) {
  				SaveInstanceStateAnn ann = getSaveInstanceStateAnn(field);
  				if (ann != null) {
  					list.add(new FieldSpec<SaveInstanceStateAnn>(field, ann));
  				}
  			}
  			specs = list.toArray(new FieldSpec[list.size()]);
  			SAVE_INSTANCE_SPECS.put(cls, specs);
  		}
  		return specs;
  	}
docs: SavevInstanceState