private void addCharacter(PhysicsCharacter node) {
   if (physicsCharacters.containsKey(node.getObjectId())) {
     logger.log(Level.WARNING, "Character {0} already exists in PhysicsSpace, cannot add.", node);
     return;
   }
   physicsCharacters.put(node.getObjectId(), node);
   logger.log(
       Level.FINE, "Adding character {0} to physics space.", Long.toHexString(node.getObjectId()));
   addCharacterObject(physicsSpaceId, node.getObjectId());
   addAction(physicsSpaceId, node.getControllerId());
   //        dynamicsWorld.addCollisionObject(node.getObjectId(),
   // CollisionFilterGroups.CHARACTER_FILTER, (short) (CollisionFilterGroups.STATIC_FILTER |
   // CollisionFilterGroups.DEFAULT_FILTER));
   //        dynamicsWorld.addAction(node.getControllerId());
 }
 private void removeCharacter(PhysicsCharacter node) {
   if (!physicsCharacters.containsKey(node.getObjectId())) {
     logger.log(
         Level.WARNING, "Character {0} does not exist in PhysicsSpace, cannot remove.", node);
     return;
   }
   physicsCharacters.remove(node.getObjectId());
   logger.log(
       Level.FINE,
       "Removing character {0} from physics space.",
       Long.toHexString(node.getObjectId()));
   removeAction(physicsSpaceId, node.getControllerId());
   removeCharacterObject(physicsSpaceId, node.getObjectId());
   //        dynamicsWorld.removeAction(node.getControllerId());
   //        dynamicsWorld.removeCollisionObject(node.getObjectId());
 }