NetBeans CommandBasedRobotTemplate

I think there is a bug in the NetBeans CommandBasedRobotTemplateProject…

In the init() method of CommandBase.java it creates an instance of OI as shown below:

public static void init() {
    // This MUST be here. If the OI creates Commands (which it very likely
    // will), constructing it during the construction of CommandBase (from
    // which commands extend), subsystems are not guaranteed to be
    // yet. Thus, their requires() statements may grab null pointers. Bad
    // news. Don't move it.
    oi = new OI();

It should be using the static singleton instance:

   oi = OI.getInstance();

The constructor for OI should also be private. As it stands now, if you access the static instance elsewhere, such as:

  m_drive.arcadeDrive(OI.getInstance().getJoystick());

you will have 2 instances of OI floating around.