private <V>JComponent createPropertyEditor(Class<V> type,ParameterGetter<NeuronUpdateRule,V> getter,ParameterSetter<NeuronUpdateRule,V> setter){
  if (type == Double.class || type == Float.class) {
    JFormattedTextField field=new JFormattedTextField();
    editorList.add(new Editor(type,field,getter,setter));
    return field;
  }
 else   if (type == Boolean.class) {
    YesNoNull dropDown=new YesNoNull();
    editorList.add(new Editor(type,dropDown,getter,setter));
    return dropDown;
  }
 else   if (type == Integer.class) {
    ChoicesWithNull dropDown=new ChoicesWithNull();
    editorList.add(new Editor(type,dropDown,getter,setter));
    return dropDown;
  }
  return null;
}

private < V > JComponent createPropertyEditor ( Class < V > type , ParameterGetter < NeuronUpdateRule , V > getter , ParameterSetter < NeuronUpdateRule , V > setter ) { if ( type == Double . class || type == Float . class ) { JFormattedTextField field = new JFormattedTextField ( ) ; editorList . add ( new Editor ( type , field , getter , setter ) ) ; return field ; } else if ( type == Boolean . class ) { YesNoNull dropDown = new YesNoNull ( ) ; editorList . add ( new Editor ( type , dropDown , getter , setter ) ) ; return dropDown ; } else if ( type == Integer . class ) { ChoicesWithNull dropDown = new ChoicesWithNull ( ) ; editorList . add ( new Editor ( type , dropDown , getter , setter ) ) ; return dropDown ; } return null ; }
private method to get a jcomponent that is used to edit a property of a neuron . the appropriate jcomponent is returned based on the property being edited . todo : throw exception if not a supported type
