### Question:
DynamicFormRenderer implements IsWidget,
                                            IsFormView { protected void doBind(FieldRenderer renderer) { if (isInitialized() && renderer.getFormField() != null) { if (renderer instanceof RequiresValueConverter) { Converter valueConverter = ((RequiresValueConverter) renderer).getConverter(); formHandler.registerInput(renderer.getFormField(), valueConverter); } else { formHandler.registerInput(renderer.getFormField()); } } } @Inject  DynamicFormRenderer(DynamicFormRendererView view,
                               FormHandlerGeneratorManager formHandlerGenerator,
                               DynamicFormModelGenerator dynamicFormModelGenerator); void renderDefaultForm(final Object model); void renderDefaultForm(final Object model,
                                  RenderMode renderMode); void renderDefaultForm(final Object model,
                                  final Command callback); void renderDefaultForm(final Object model,
                                  final RenderMode renderMode,
                                  final Command callback); void render(FormRenderingContext context); void bind(Object model); void addFieldChangeHandler(FieldChangeHandler handler); void addFieldChangeHandler(String fieldName,
                                      FieldChangeHandler handler); void unBind(); void setModel(Object model); Object getModel(); void switchToMode(RenderMode renderMode); boolean isValid(); @Override Widget asWidget(); Form getCurrentForm(); void flush(); boolean isInitialized();  }### Answer:
@Test public void testRenderMultipleTimes() { doBind(1); doBind(2); verify(formHandler).clear(); verify(view).clear(); }