private static void processGoldstein() {
		
		final JFileChooser fc = new JFileChooser();
		File goldSteinFile;
		File goldSteinFileOut;
		
		fc.setCurrentDirectory(new File("D:\\_Z_Daten\\Workspaces\\R\\Data"));
		int ret = fc.showOpenDialog(null);
		
		//choose Goldstein File
        if (ret == JFileChooser.APPROVE_OPTION) {
        	goldSteinFile = fc.getSelectedFile();
        	goldSteinFileOut = new File(goldSteinFile.getAbsolutePath() + "_processed");
    		try {
    			BufferedReader in = new BufferedReader(new FileReader(goldSteinFile));
    			PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(goldSteinFileOut)));
    			
    			int shortLine = 0;
    			int errors = 0;
    			
    			//write header
    			out.println("eventType" + '\t' + "eventName" + '\t' + "weight");
    			
    			String line = null;
    			
    			//process the lines
    			while ((line = in.readLine()) != null) {
    				
    				String[] tokens = line.split("( )|(\t)");
    				
    				if (tokens.length >= 3) {
    					if (tokens[0].matches("[0-9]+") && tokens[tokens.length-1].matches("-?[0-9]+\\.[0-9]+")) {
    						//get the code
    						int eventCode = Integer.valueOf(tokens[0]);
    						
    						//rest should be the name
    						String eventName = "";
    						for (int i=1; i < tokens.length-1; i++) {
    							eventName += tokens[i] + " ";
    						}
    						eventName = eventName.substring(0, eventName.length()-1);
    						
    						//get the weight
    						double weight = Double.valueOf(tokens[tokens.length-1]);
    						
        					code2weight.put(eventCode, weight);
    						
        					//now print it
        					out.println(""+ eventCode + '\t' + '"' + eventName + '"'  + '\t' + weight);
    					} else {
    						errors++;
    					}
    				} else {
    					shortLine++;
    				}
    			}
    			
    			System.out.println("done with goldstein weights");
    			System.out.println(shortLine + " short lines have been recorded");
    			System.out.println(errors + " errors have been recorded");
    			
    			in.close();
    			out.flush();
    			out.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
	    }
	}