diff --git a/python_jsonschema_objects/classbuilder.py b/python_jsonschema_objects/classbuilder.py
index 65dbfad..b455580 100644
--- a/python_jsonschema_objects/classbuilder.py
+++ b/python_jsonschema_objects/classbuilder.py
@@ -142,6 +142,7 @@ class ProtocolBase(collections.MutableMapping):
                 cls, klass))
             try:
                 obj = klass(**props)
+                obj.validate()
             except validators.ValidationError as e:
                 validation_errors.append((klass, e))
             else:
diff --git a/python_jsonschema_objects/wrapper_types.py b/python_jsonschema_objects/wrapper_types.py
index 9a8624a..c733700 100644
--- a/python_jsonschema_objects/wrapper_types.py
+++ b/python_jsonschema_objects/wrapper_types.py
@@ -125,7 +125,7 @@ class ArrayWrapper(collections.MutableSequence):
 
     def validate_uniqueness(self):
 
-        if getattr(self, 'uniqueItems', False) is True:
+        if getattr(self, 'uniqueItems', None) is not None:
             testset = set(self.data)
             if len(testset) != len(self.data):
                 raise ValidationError(

oneOf example in README does not deserialize 
The README contains this example for `oneOf`:

```
{
  "title": "MultipleObjects",
  "id": "foo",
  "type": "object",
  "oneOf":[
    {"$ref": "#/definitions/ErrorResponse"},
    {"$ref": "#/definitions/VersionGetResponse"}
  ],
  "definitions": {
    "ErrorResponse": {
      "title": "Error Response",
      "id": "Error Response",
      "type": "object",
      "properties": {
        "message": {"type": "string"},
        "status": {"type": "integer"}
      },
      "required": ["message", "status"]
    },
    "VersionGetResponse": {
      "title": "Version Get Response",
      "type": "object",
      "properties": {
        "local": {"type": "boolean"},
        "version": {"type": "string"}
      },
      "required": ["version"]
    }
  }
}
```

I see this:

```
$ ipython
>>> import sys
>>> sys.version
'3.7.1 (default, Oct 22 2018, 11:21:55) \n[GCC 8.2.0]'
>>> import python_jsonschema_objects as pjs
>>> pjs.__version__
'0.3.5'

>>> builder = pjs.ObjectBuilder("oneOf-example.json")
>>> classes = builder.build_classes(named_only=True)

# create two test objects
>>> er = classes.ErrorResponse(message="Danger!", status=99)
>>> vgr = classes.VersionGetResponse(local=False, version="1.2.3")

# round-trip serialize-deserialize into named classes
>>> er2 = classes.ErrorResponse.from_json(er.serialize())
>>> vgr2 = classes.VersionGetResponse.from_json(vgr.serialize())

# round-trip serialize-deserialize into class defined with `oneOf`
>>> er2 = classes.Multipleobjects.from_json(er.serialize())
>>> vgr2 = classes.Multipleobjects.from_json(vgr.serialize())
Traceback (most recent call last):
  File "<ipython-input-10-53386795083b>", line 1, in <module>
    vgr2 = classes.Multipleobjects.from_json(vgr.serialize())
  File "/home/reece/.virtualenvs/default-3.7.1/lib/python3.7/site-packages/python_jsonschema_objects/classbuilder.py", line 116, in from_json
    obj.validate()
  File "/home/reece/.virtualenvs/default-3.7.1/lib/python3.7/site-packages/python_jsonschema_objects/classbuilder.py", line 272, in validate
    .format(missing, self.__class__.__name__))
ValidationError: '['message', 'status']' are required attributes for ErrorResponse

```

Swapping the order of the `ErrorResponse` and `VersionGetResponse` in the schema file does not change the outcome. Removing the `required` section from the `ErrorResponse` definition is sufficient to allow the above examples to succeed.
diff --git a/test/test_regression_156.py b/test/test_regression_156.py
new file mode 100644
index 0000000..8bb3af4
--- /dev/null
+++ b/test/test_regression_156.py
@@ -0,0 +1,18 @@
+import pytest  # noqa
+import python_jsonschema_objects as pjo
+
+
+def test_regression_156(markdown_examples):
+    builder = pjo.ObjectBuilder(markdown_examples['MultipleObjects'], resolved=markdown_examples)
+    classes = builder.build_classes(named_only=True)
+
+    er = classes.ErrorResponse(message="Danger!", status=99)
+    vgr = classes.VersionGetResponse(local=False, version="1.2.3")
+
+    # round-trip serialize-deserialize into named classes
+    classes.ErrorResponse.from_json(er.serialize())
+    classes.VersionGetResponse.from_json(vgr.serialize())
+
+    # round-trip serialize-deserialize into class defined with `oneOf`
+    classes.Multipleobjects.from_json(er.serialize())
+    classes.Multipleobjects.from_json(vgr.serialize())

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-mock
apt-get update apt-get install -y gcc
3.6
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
importlib-metadata==4.8.3
inflection==0.5.1
iniconfig==1.1.1
jsonschema==3.2.0
Markdown==3.3.7
packaging==21.3
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pyrsistent==0.18.0
pytest==7.0.1
pytest-mock==3.6.1
-e git+https://github.com/cwacek/python-jsonschema-objects.git@5d4f01bea8f4d3688a4ffbf23e45994c040ba254#egg=python_jsonschema_objects
six==1.17.0
tomli==1.2.3
typing_extensions==4.1.1
zipp==3.6.0

name: python-jsonschema-objects
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - importlib-metadata==4.8.3
      - inflection==0.5.1
      - iniconfig==1.1.1
      - jsonschema==3.2.0
      - markdown==3.3.7
      - packaging==21.3
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pyrsistent==0.18.0
      - pytest==7.0.1
      - pytest-mock==3.6.1
      - six==1.17.0
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - zipp==3.6.0
prefix: /opt/conda/envs/python-jsonschema-objects

test/test_regression_156.py::test_regression_156
python_jsonschema_objects/wrapper_types.py python_jsonschema_objects/classbuilder.py
python_jsonschema_objects/wrapper_types.py python_jsonschema_objects/classbuilder.py