@Override
    public void getErrors(ErrorCollection errors, String parentLocation) {
        String location = this.getLocation(parentLocation);
        errors.checkMissing(location, "type", type);
    }
@Test
    public void shouldDeserializeFromAPILikeObject() {
        String json = """
                {
                    "type": "manual",
                      "roles": [

                      ],
                      "users": [

                "joe"      ]
                  }""";
        CRApproval deserializedValue = gson.fromJson(json, CRApproval.class);

        assertThat(deserializedValue.getType()).isEqualTo(CRApprovalCondition.manual);
        assertThat(deserializedValue.getUsers()).isNotEmpty();
        assertThat(deserializedValue.getRoles()).isEmpty();

        ErrorCollection errors = deserializedValue.getErrors();
        assertThat(errors.isEmpty()).isTrue();
    }