public void instantiate(){
  String nameT=namePrefix + "T" + nameDivider+ output;
  String nameC=namePrefix + "C" + nameDivider+ output;
  RouteManager rm=InstanceManager.getDefault(jmri.RouteManager.class);
  Route rt=rm.getBySystemName(nameT);
  if (rt != null) {
    rt.deActivateRoute();
    rm.deleteRoute(rt);
  }
  Route rc=rm.getBySystemName(nameC);
  if (rc != null) {
    rc.deActivateRoute();
    rm.deleteRoute(rc);
  }
  rt=new DefaultRoute(nameT);
  rc=new DefaultRoute(nameC);
  rt.addSensorToRoute(sensor,invert ? Route.ONINACTIVE : Route.ONACTIVE);
  rc.addSensorToRoute(sensor,!invert ? Route.ONINACTIVE : Route.ONACTIVE);
  if (!veto.equals("")) {
    rt.addSensorToRoute(veto,Route.VETOACTIVE);
    rc.addSensorToRoute(veto,Route.VETOACTIVE);
  }
  rt.addOutputTurnout(output,Turnout.THROWN);
  rc.addOutputTurnout(output,Turnout.CLOSED);
  rt.activateRoute();
  rc.activateRoute();
  rm.register(rt);
  rm.register(rc);
}

public void instantiate ( ) { String nameT = namePrefix + "T" + nameDivider + output ; String nameC = namePrefix + "C" + nameDivider + output ; RouteManager rm = InstanceManager . getDefault ( jmri . RouteManager . class ) ; Route rt = rm . getBySystemName ( nameT ) ; if ( rt != null ) { rt . deActivateRoute ( ) ; rm . deleteRoute ( rt ) ; } Route rc = rm . getBySystemName ( nameC ) ; if ( rc != null ) { rc . deActivateRoute ( ) ; rm . deleteRoute ( rc ) ; } rt = new DefaultRoute ( nameT ) ; rc = new DefaultRoute ( nameC ) ; rt . addSensorToRoute ( sensor , invert ? Route . ONINACTIVE : Route . ONACTIVE ) ; rc . addSensorToRoute ( sensor , ! invert ? Route . ONINACTIVE : Route . ONACTIVE ) ; if ( ! veto . equals ( "" ) ) { rt . addSensorToRoute ( veto , Route . VETOACTIVE ) ; rc . addSensorToRoute ( veto , Route . VETOACTIVE ) ; } rt . addOutputTurnout ( output , Turnout . THROWN ) ; rc . addOutputTurnout ( output , Turnout . CLOSED ) ; rt . activateRoute ( ) ; rc . activateRoute ( ) ; rm . register ( rt ) ; rm . register ( rc ) ; }
create the underlying objects that implement this
