refactoring ValuePattern and ValuePatternInformation to adapters