public void save() {
		String savePath =  new Control_GetPath().getStreamRipStarPath();
		XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); 
		int[] intOptions = new int[12];
		String[] strOptions = new String[7];
		
		try {
			XMLEventWriter writer = outputFactory.createXMLEventWriter(
					new FileOutputStream(savePath+"/Streambrowser.xml" ) );
			XMLEventFactory eventFactory = XMLEventFactory.newInstance();

			//save Intgers of the widths of any cell that is shown
			for(int i=0; i < isColumnShow.length ;i++) {
				if(isColumnShow[i]) {
					intOptions[i+3] = browseTable.getColumn(browseHeader[i]).getWidth();
				} else {
					//for failsave
					intOptions[i+3] = 30;
				}
			}

			//save Strings
			//filter settings
			String[] x = filter.getSaveSettings();
			for(int i=0;i<x.length;i++) {
				strOptions[i] = x[i];
			}
			
			//header for the file
			XMLEvent header = eventFactory.createStartDocument();
			XMLEvent startRootSettings = eventFactory.createStartElement( "", "", "Settings" );

			XMLEvent height = eventFactory.createAttribute( "height",  String.valueOf( getSize().height)); 
			XMLEvent width= eventFactory.createAttribute( "width",  String.valueOf( getSize().width)); 
			XMLEvent divLocation = eventFactory.createAttribute( "divLocation",  String.valueOf( splitView.getDividerLocation())); 
			
			XMLEvent i0 = eventFactory.createAttribute( "i0",  String.valueOf( intOptions[0] ));
			XMLEvent i1 = eventFactory.createAttribute( "i1",  String.valueOf( intOptions[1] ));
			XMLEvent i2 = eventFactory.createAttribute( "i2",  String.valueOf( intOptions[2] ));
			XMLEvent i3 = eventFactory.createAttribute( "i3",  String.valueOf( intOptions[3] ));
			XMLEvent i4 = eventFactory.createAttribute( "i4",  String.valueOf( intOptions[4] ));
			XMLEvent i5 = eventFactory.createAttribute( "i5",  String.valueOf( intOptions[5] ));
			XMLEvent i6 = eventFactory.createAttribute( "i6",  String.valueOf( intOptions[6] ));
			XMLEvent i7 = eventFactory.createAttribute( "i7",  String.valueOf( intOptions[7] ));
			XMLEvent i8 = eventFactory.createAttribute( "i8",  String.valueOf( intOptions[8] ));
			XMLEvent i9 = eventFactory.createAttribute( "i9",  String.valueOf( intOptions[9] ));
			XMLEvent i10 = eventFactory.createAttribute( "i10",  String.valueOf( intOptions[10] ));
			XMLEvent i11 = eventFactory.createAttribute( "i11",  String.valueOf( intOptions[11] ));
			
			XMLEvent s0 = eventFactory.createAttribute( "s0",  String.valueOf( strOptions[0] ));
			XMLEvent s1 = eventFactory.createAttribute( "s1",  String.valueOf( strOptions[1] ));
			XMLEvent s2 = eventFactory.createAttribute( "s2",  String.valueOf( strOptions[2] ));
			XMLEvent s3 = eventFactory.createAttribute( "s3",  String.valueOf( strOptions[3] ));
			XMLEvent s4 = eventFactory.createAttribute( "s4",  String.valueOf( strOptions[4] ));
			XMLEvent s5 = eventFactory.createAttribute( "s5",  String.valueOf( strOptions[5] ));
			XMLEvent s6 = eventFactory.createAttribute( "s6",  String.valueOf( strOptions[6] ));
			
			XMLEvent b0 = eventFactory.createAttribute( "b0",  String.valueOf( isColumnShow[0] ));
			XMLEvent b1 = eventFactory.createAttribute( "b1",  String.valueOf( isColumnShow[1] ));
			XMLEvent b2 = eventFactory.createAttribute( "b2",  String.valueOf( isColumnShow[2] ));
			XMLEvent b3 = eventFactory.createAttribute( "b3",  String.valueOf( isColumnShow[3] ));
			XMLEvent b4 = eventFactory.createAttribute( "b4",  String.valueOf( isColumnShow[4] ));
			XMLEvent b5 = eventFactory.createAttribute( "b5",  String.valueOf( isColumnShow[5] ));
			XMLEvent b6 = eventFactory.createAttribute( "b6",  String.valueOf( isColumnShow[6] ));
			XMLEvent b7 = eventFactory.createAttribute( "b7",  String.valueOf( isColumnShow[7] ));
			
			XMLEvent endRoot = eventFactory.createEndElement( "", "", "Settings" ); 
			XMLEvent endDocument = eventFactory.createEndDocument();
			
			//finally write into file
			writer.add( header ); 
			writer.add( startRootSettings );
			
			writer.add( height ); 
			writer.add( width ); 
			writer.add( divLocation ); 
			writer.add( i0 ); 
			writer.add( i1 ); 
			writer.add( i2 ); 
			writer.add( i3 ); 
			writer.add( i4 ); 
			writer.add( i5 ); 
			writer.add( i6 ); 
			writer.add( i7 ); 
			writer.add( i8 ); 
			writer.add( i9 ); 
			writer.add( i10 ); 
			writer.add( i11 ); 
			writer.add( s0 ); 
			writer.add( s1 ); 
			writer.add( s2); 
			writer.add( s3 ); 
			writer.add( s4 ); 
			writer.add( s5 );
			writer.add( s6 ); 
			writer.add( b0 ); 
			writer.add( b1 ); 
			writer.add( b2 ); 
			writer.add( b3 ); 
			writer.add( b4 ); 
			writer.add( b5 ); 
			writer.add( b6 );
			writer.add( b7 );
			
			writer.add( endRoot ); 
			writer.add( endDocument ); 
			writer.close();

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (XMLStreamException e) {
			e.printStackTrace();
		} 
	}