void processCallbackSnapshots(int cause) {
		boolean doDoSnapshot = false;
		synchronized (this.callbackAndTypeVector) {
			if ((this.callbackAndTypeVector.size() > 0)
					&& (this.currentSnapshotHandler == null)) {
				doDoSnapshot = true;
			}
		}
		if (doDoSnapshot) {
			CSTAConnectionID snapConnID = null;
			synchronized (this.connections) {
				if (this.connections.size() > 0) {
					try {
						snapConnID = ((TSConnection) this.connections
								.elementAt(0)).getConnID();
					} catch (TsapiPlatformException e) {
						log.error("Ignoring exception: " + e);
						if (this.callID != 0) {
							snapConnID = new CSTAConnectionID(this.callID, "",
									(short) 0);
						}
					}
				} else if (this.callID != 0) {
					snapConnID = new CSTAConnectionID(this.callID, "",
							(short) 0);
				}
			}
			if (snapConnID != null)
				doSnapshot(snapConnID, null, false, cause);
		}
	}