public CaseCreationResponse startCase(
            ProcessDefinitionResponse processDefinition,
            Map<String, Serializable> rawInputs)
            throws Exception {
        if (processDefinition == null) {
            throw new IllegalArgumentException("ProcessDefinition is null");
        }
        if (rawInputs == null) {
            throw new IllegalArgumentException("The contract input is null");
        }
        Map<String, Serializable> inputs = BonitaAPIUtil.getInstance(bonitaApiConfig)
                .prepareInputs(processDefinition, rawInputs);
        WebTarget resource = getBaseResource().path("process/{processId}/instantiation")
                .resolveTemplate("processId", processDefinition.getId());
        return resource.request().accept(MediaType.APPLICATION_JSON)
                .post(entity(inputs, MediaType.APPLICATION_JSON), CaseCreationResponse.class);
    }
@Test
    public void testStartCaseNUllContractInput() {
        BonitaAPI bonitaApi = BonitaAPIBuilder
                .build(new BonitaAPIConfig("hostname", "port", "username", "password"));
        ProcessDefinitionResponse processDefinition = new ProcessDefinitionResponse();
        assertThrows(IllegalArgumentException.class,
                () -> bonitaApi.startCase(processDefinition, null));
    }