private void buildHotSpots() {
        File hotSpotFile = new File(MODEL_PATH + name + ".hspot");
        BufferedReader in;
        String line;


        try {
            if (hotSpotFile.exists()){
                in = new BufferedReader(new FileReader(hotSpotFile));
                File transformFile = new File(MODEL_PATH + name + ".trfm");
                math.Matrix4f transform;
                
                if(transformFile.exists())
                    transform =  new math.Matrix4f(WavefrontObjLoader.loadTranform(transformFile));
                else
                    transform = new math.Matrix4f();

                // While we have lines in our file
                while((line = in.readLine()) != null){
                    String[] tokens = line.split(" ", 5);
                    // Get our type we are going to add
                    List<Vector3f> spotList = hotSpots.get(tokens[0]);
                    // Make it if it is a new type
                    if(spotList == null){
                        hotSpots.put(tokens[0], new ArrayList<Vector3f>());
                    }
                    try{
                        float x = Float.parseFloat(tokens[1]);
                        float y = Float.parseFloat(tokens[2]);
                        float z = Float.parseFloat(tokens[3]);
                        hotSpots.get(tokens[0]).add(transform.times(new Vector3f(x,y,z)));

                    } catch(NumberFormatException e){
                        System.err.println("Unable to parse hotspots for " + name + " on tokens " + tokens[0] + " " + tokens[1] + " " +tokens[2] + " " +tokens[3]);
                    }
                }
            }
        }
        catch (IOException e) {
            // Oh well
        }
    }