public void run() {
		Object o = null;
		while (!this.done) {
			try {
				if (this.in == null) {
					o = transform("");
					if (o != null) {
						out.put(o);
					}
				}
				else if (this.out == null) {
					empty = isEmpty();
					if (empty == false) {
						o = in.take();
						o = transform(o);
					}
					else {
						o = transform(o);
					}
				}
				else {
					empty = isEmpty();
					if (!empty) {
						o = in.take();
						o = transform(o);
					}
					else {
						o = transform(o);
					}
					if (o == null) {
					}
					else {
						out.put(o);
					}
				}
				o = null;
				empty = false;
			}
			catch (InterruptedException e) {
				System.out.println("Interrupted.");
			}
		}
	}