@Override
    public void getErrors(ErrorCollection errors, String parentLocation) {
        String location = getLocation(parentLocation);
        super.getErrors(errors, parentLocation);
        errors.checkMissing(location, "id", id);
        errors.checkMissing(location, "store_id", storeId);
        if (this.configuration != null) {
            for (CRConfigurationProperty property : configuration) {
                property.getErrors(errors, location);
            }
        }
    }
@Test
    public void shouldCheckForTypeWhileDeserializing() {
        String json = """
                {
                           "id" : "id",
                           "store_id" : "s3"
                            }""";

        CRPluggableArtifact crPluggableArtifact = gson.fromJson(json, CRPluggableArtifact.class);

        assertThat(crPluggableArtifact.getId(), is("id"));
        assertThat(crPluggableArtifact.getStoreId(), is("s3"));
        assertNull(crPluggableArtifact.getType());
        assertNull(crPluggableArtifact.getConfiguration());

        assertFalse(crPluggableArtifact.getErrors().isEmpty());
    }