example:

````
modules.add(someSource);
modules.add(someProcessor);
// should fail since the 'inferredType' would be 'source'
new CompositeModule("m", ModuleType.sink, modules, metadata);
````