protected Element extractFieldByName(List<Element> remaining, String name)
     throws FilterException {
   for (Element field : remaining) {
     String fullName = field.getDeclaringClass().getName() + "-" + field.getName();
     if (name.equals(fullName) || name.equals(field.getName())) {
       remaining.remove(field);
       return field;
     }
   }
   throw new FilterException(name + " not found in field list, please check your filters");
 }
 /** Dispose this controller. The controller should clear all existing bindings. */
 public void dispose() {
   element.dispose();
   labelController.dispose();
   tooltipController.dispose();
   editorController.dispose();
   fxForm.skinProperty().removeListener(changeListener);
   ((FXFormSkin) fxForm.getSkin()).removeElement(element);
 }
 public boolean handle(Element element) {
   return clazz.isAssignableFrom(element.getType());
 }