class RestBuilder {

    public Model buildModel(Iterable<NamedInputSupplier> suppliers) throws IOException {
        List<Model> models = Lists.newArrayList();
        for (NamedInputSupplier supplier : suppliers) {
            Model model = buildModel(supplier);
            models.add(model);
        }

        return new MultiModel(models).resolve();
    }

}

class RestBuilderTest {

    private Model model;

    @Test
    public void testBuildModel() throws Exception {


        assertThat(model)
                .describedAs("A restbuilder model object")
                .isNotNull()
                .isInstanceOf(Model.class);

        assertThat(model.getNamespace()).isEqualTo("example");
        assertThat(model.getOperations()).isNotEmpty().hasSize(2);

        Resource accountResource = model.getResources().get("account");
        assertThat(accountResource.getPreamble()).isNotEmpty();
        assertThat(accountResource.getComment()).isNotEmpty();

        Operation cancellationOperation = accountResource.getOperations().get("cancellation");
        assertThat(cancellationOperation.getAttributes()).isNotEmpty();

    }

}