@Override
	public boolean convert(String filename, ArrayList<ConvertOption> options) {
		try {
			int toolindex = 0;
			File f = new File(filename);
			String nLine = String.format("%n");
			FileWriter writer = new FileWriter(f);
			writer.write("PA;" + nLine);
			String id = "";
			int x = 0;
			int y = 0;
			for (int _f = 0; _f < this.getFiles().size(); _f++) {
				for (int t = 0; t < this.getFiles().get(_f).getTools().size(); t++) {
					toolindex++;
					writer.write(/*"PU;" + String.format("%n") + */"SP" + toolindex + ";" + nLine);
					for (int p = 0; p < this.getFiles().get(_f).getCoords().size(); p++) {
						if (this.getFiles().get(_f).getCoords().get(p).getToolIndex() == this.getFiles().get(_f).getTools().get(t).getIndex()) {
							id = this.getFiles().get(_f).getCoords().get(p).getState().getsIdentifier();
							x = this.getFiles().get(_f).getCoords().get(p).getX();
							y = this.getFiles().get(_f).getCoords().get(p).getY();
							writer.write(id + "" + x + "," + y);
							if (!(p + 1 >= (this.getFiles().get(_f).getCoords().size()))) {
								if (!id.equals(this.getFiles().get(_f).getCoords().get(p + 1).getState().getsIdentifier())) {
									if(p == this.getFiles().get(_f).getCoords().size() - 1){
										writer.write(";" + this.getFiles().get(_f).getCoords().get(p + 1).getState().getsIdentifier() + ";PU;");
									}else{
										writer.write(";" + this.getFiles().get(_f).getCoords().get(p + 1).getState().getsIdentifier() + ";");
									}
								}
							}
							writer.write(nLine);
						}
					}
				}
			}
			writer.write("PU;");
			writer.close();
			System.out.println("Done.");
			return true;
		} catch (IOException e) {
			JOptionPane.showMessageDialog(null, "Es ist ein fehler wahrend des schreibens der Datei aufgetreten.");
			e.printStackTrace();
		}

		return true;
	}