Vector<TSConnection> connectFinish(TSDevice device, String destAddress,
			CSTAConnectionID newCall) {
		if (device.isMonitorSet()) {
			this.needSnapshot = false;
		} else {
			log.info("TSCall.connect: calling doSnapshot() for callID "
					+ this.callID);

			doSnapshot(newCall, null, false);
		}

		log.info("TSCall.connect: about to wait for 2 connections for callID "
				+ this.callID);

		synchronized (this.connections) {
			if (this.connections.size() < 2) {
				setConnection_wait_limit(2);
				if ((!waitForConnections("connect", 2)) && (this.state != 34)) {
					device.removeFromCallsWaitingForConnectPostConditions(this);
					this.provider.createDevice(destAddress)
							.removeFromCallsWaitingForConnectPostConditions(
									this);

					log.info("failed to get 2 connections for call ID "
							+ this.callID);

					throw new TsapiPlatformException(4, 0,
							"Could not meet post-conditions of connect()");
				}

			}

			device.removeFromCallsWaitingForConnectPostConditions(this);
			this.provider.createDevice(destAddress)
					.removeFromCallsWaitingForConnectPostConditions(this);

			return this.connections;
		}
	}