Ghost Physics on Bullet throw null pointer

the following code throws a null pointer when called

BulletCollisionDetection collisionDetect;
public void shoot()
{
collisionDetect = new BulletCollisionDetection();
collisionDetect.bind(bulletAppState);
Spatial newbullet = bullet.clone();

    //Vector3f spot = cam.getLocation().add(cam.getDirection());
    
    
    rootNode.attachChild(newbullet);
    newbullet.setLocalTranslation(cam.getLocation());
   
  
   bullet_phy = new RigidBodyControl(2F);
    newbullet.addControl(bullet_phy);
   
   bulletAppState.getPhysicsSpace().add(bullet_phy);
   bullet_phy.setLinearVelocity(cam.getDirection().mult(1000));
     
    newbullet.addControl(collisionDetect);
     
    
    
    
    
    
    
    
}

the null pointer error is as follows:

java.lang.NullPointerException
at com.jme3.bullet.objects.PhysicsGhostObject.setPhysicsLocation(PhysicsGhostObject.java:108)
at com.jme3.bullet.control.GhostControl.setSpatial(GhostControl.java:94)
at com.jme3.scene.Spatial.addControl(Spatial.java:572)

im fried out on learning the physics behind this and other things so im in no state to solve this issue.

Any ideas?

Your last line looks weird.