Current set of lookup methods uses an unsafe type-variance:
<E extends SchemaTreeEffectiveStatement<?>> Optional<E> findSchemaTreeNode(List<QName> qnames);
This needs to be split up into multiple methods, so we support proper Class-based filters:
<E> Optional<E> findSchemaTreeNode(Class<E> type, List<QName> qnames);
while also providing a simplified
Optional<SchemaTreeEffectiveStatement<?>> findSchemaTreeNode(List<QName> qnames);