@Test
public void parseTest4() {

    try {
        ClassType collectionType = new ClassType("Collection", null, null);
        Map<String, DataType> resolvedTypes = new HashMap<>();
        resolvedTypes.put("Collection", collectionType);
        GenericClassSignatureParser genericClassSignatureParser = new GenericClassSignatureParser("MyType<M constrains Collection>", resolvedTypes);
        genericClassSignatureParser.parseGenericSignature();
        fail("Exception should be thrown for invalid parameter syntax");
    } catch(Exception e) {
        assertThat(e.getMessage(), is("Invalid parameter syntax: M constrains Collection"));
    }
}