public Vector<TSCall> getTSCalls() {
		Vector<TSCall> tsCallVector = new Vector<TSCall>();
		Vector<TSCall> tsDevCallVector = null;

		waitToInitialize();

		for (int i = 0; i < this.tsMonitorableDevices.size(); i++) {
			tsDevCallVector = doCallSnapshot((String) this.tsMonitorableDevices
					.elementAt(i));

			if (tsDevCallVector != null)
				for (int j = 0; j < tsDevCallVector.size(); j++)
					if (!tsCallVector.contains(tsDevCallVector.elementAt(j)))
						tsCallVector.addElement(tsDevCallVector.elementAt(j));
		}
		Enumeration<TSCall> callEnum;
		synchronized (this.nonCallHash) {
			callEnum = this.nonCallHash.elements();
			while (callEnum.hasMoreElements()) {
				try {
					tsCallVector.addElement(callEnum.nextElement());
				} catch (NoSuchElementException e) {
					log.error(e.getMessage(), e);
				}

			}

		}

		synchronized (this.callHash) {
			callEnum = this.callHash.elements();
			while (callEnum.hasMoreElements()) {
				TSCall callVar;
				try {
					callVar = (TSCall) callEnum.nextElement();
					if (!tsCallVector.contains(callVar)) {
						tsCallVector.addElement(callVar);
					}
				} catch (NoSuchElementException e) {
					log.error(e.getMessage(), e);
				}
				continue;

			}
		}

		return tsCallVector;
	}