support patternProperties and readOnly