changed place for checking against record data objects to allow constructor overrides