public final static boolean finish() throws FatalError {

		try {
			// HTTP parameters stores header etc.
			HttpParams params = new BasicHttpParams();
			params.setParameter("http.protocol.handle-redirects", false);

			HttpGet httpget = new HttpGet(Config.getHost() + "arbeitsamt/index");
			httpget.setParams(params);

			HttpResponse response = Control.current.httpclient.execute(httpget);

			// obtain redirect target
			Header locationHeader = response.getFirstHeader("location");
			HttpEntity resEntity = response.getEntity();
			if (resEntity != null) {
				resEntity.consumeContent();
			}
			if (locationHeader != null) {

				if (locationHeader.getValue().equalsIgnoreCase(
						(Config.getHost() + "arbeitsamt/serve").toLowerCase())) {
					try {
						JSONTokener js = new JSONTokener(Utils
								.getString("services/serviceData"));
						JSONObject result = new JSONObject(js);

						// [truncated]
						// {"currentTime":43,"fullTime":3600,"urlCancel":"\/arbeitsamt\/cancel","urlFinish":"\/arbeitsamt\/finish","workTotalTime":"1","workFee":"112","workFeeType":"gold","workText":"Die
						// Kellnerin im Goldenen Igel kommt nach einem langen
						int seconds = result.getInt("fullTime")
								- result.getInt("currentTime") + 20;
						Output.printTabLn(
								"Letzte Arbeit wurde nicht beendet. Schlafe "
										+ Math.round(seconds / 60)
										+ " Minuten.", 1);

						// cut it into parts to safe session
						while (seconds > 600) {
							// sleep for 10 min
							Control.sleep(6000, 2);
							seconds -= 600;
							Control.current.getCharacter();
						}
						Control.sleep(10 * seconds, 2);

						Utils.visit("arbeitsamt/finish");

					} catch (JSONException e) {
						Output.error(e);
						return false;
					}
				} else if (locationHeader.getValue().equalsIgnoreCase(
						(Config.getHost() + "arbeitsamt/finish").toLowerCase())) {
					Utils.visit("arbeitsamt/finish");
				} else {
					Output.println("Es ging was schief.", 0);
					return false;
				}
			}
		} catch (IOException e) {

			Output.println("Es ging was schief.", 0);
			return false;
		}
		return true;
	}