Index: kernel/include/IMP/DecoratorBase.h =================================================================== --- kernel/include/IMP/DecoratorBase.h (revision 528) +++ kernel/include/IMP/DecoratorBase.h (working copy) @@ -22,7 +22,8 @@ { protected: internal::ObjectPointer particle_; - DecoratorBase(Particle *p): particle_(p) {} + DecoratorBase(Particle *p): particle_(p) { + } bool is_default() const { return !particle_; } @@ -55,11 +56,10 @@ static D cast(Particle *p) { IMP_CHECK_OBJECT(p); D:: decorator_initialize_static_data(); - IMP_check(D::has_required_attributes(p), - "Attempting to cast a Particle which does not have" - " some required attributes", - InvalidStateException("Particle missing required attribues"\ - " in cast")); + if (!D::has_required_attributes(p)) { + throw InvalidStateException("Particle missing required attribues"\ + " in cast"); + } return D(p); }