public <ThrowableType extends Throwable> void visitModel(ModelVisitor<ThrowableType> modelVisitor) throws ThrowableType { if (boundConstructors != null) { for (ConstructorModel constructorModel : boundConstructors) { constructorModel.visitModel(modelVisitor); } } else { for (ConstructorModel constructorModel : constructorModels) { constructorModel.visitModel(modelVisitor); } } }