Change getPatternList() to cope with subpatterns formed as arrays of strings