Problem reversing normals of shapes added to SimpleCanvasImpl

I am trying to make a JME graphics environment that resides in its own JCanvas that isnt tied to a Game of any type. I made a tool set to do this that works but it reverses the normals of anything i add to the world. Here is some of the code from the tool set that i am using.


public Camera makeNewCamera() throws InterruptedException, ExecutionException
   {
      System.out.println("Renderer = " + DisplaySystem.getDisplaySystem().getRenderer());
      Camera camera = null;

//    Camera temp = renderer.createCamera(renderer.getWidth(), renderer.getHeight());

      class SetupTask implements Callable
      {
         private Camera camera;
         public SetupTask(Camera camera)
         {
            this.camera = camera;
         }
         @Override
         public Object call()
         {
            camera = renderer.createCamera(renderer.getWidth(), renderer.getHeight());
            setUpCamera(camera);
            camera.normalize();
            System.out.println(camera);
            renderer.setCamera(camera);
            cameras.add(camera);
            impl.setRenderer(renderer);
            impl.setCamera(camera);

            return null;
         }
      }
      ;
      SetupTask task = new SetupTask(camera);

      // Enqueue it in the task queue
      GameTaskQueueManager.getManager().getQueue(GameTaskQueue.UPDATE).enqueue(task);

      while (renderer.getCamera() == null)
      {
         try
         {
            Thread.sleep(50);
            System.out.println("waiting");

//          renderer.setCamera(camera);
         }
         catch (Exception e)
         {
         }
      }

//    System.out.println(camera);

      return camera;

   }

   public void setupCullState()
   {
      CullState cull = renderer.createCullState();
      cull.setCullFace(CullState.Face.Back);
      getRootNode().setRenderState(cull);
   }
public void addNode(final Node Root, Node newNode)
   {
      class SetupTask implements Callable
      {
         public JMETool parent;
         public Node root;
         public Node newnode;
         public SetupTask(Node root, Node newNode)
         {
            this.root = root;
            this.newnode = newNode;
         }
         @Override
         public Object call()
         {
            root.attachChild(newnode);
            newnode.updateRenderState();
            newnode.updateGeometricState(0, true);

            return null;
         }
      }
      ;
      SetupTask task = new SetupTask(Root, newNode);
      task.parent = this;

      // Enqueue it in the task queue
      GameTaskQueueManager.getManager().getQueue(GameTaskQueue.UPDATE).enqueue(task);
   }

public void RenderAll()
   {
      future = GameTaskQueueManager.getManager().update(new Callable<Object>()
      {
         @Override
         public Object call() throws Exception
         {
            renderer.clearZBuffer();
            display.getRenderer().clearBuffers();

            rootNode.updateGeometricState(0.0f, true);

//          updateGeometryRecursive(rootNode);
            rootNode.updateRenderState();
            manager.renderPasses(renderer);

            for (int i = 0; i < os.size(); i++)
            {
               os.get(i).render(rootNode);
            }

            renderer.displayBackBuffer();

            return null;
         }
      });

//    SetupTask rendering = new SetupTask();

      // Enqueue it in the task queue
//    GameTaskQueueManager.getManager().getQueue(GameTaskQueue.UPDATE).enqueue(rendering);
      try
      {
         future.get();
      }
      catch (InterruptedException e)
      {
         e.printStackTrace();
      }
      catch (ExecutionException e)
      {
         e.printStackTrace();
      }
   }



Any advice would be greatly appreciated.