boolean updateObject() {
		if ((isMonitorSet() == true)
				|| ((this.state == 32) && (this.callID == 0))
				|| (this.state == 34)) {
			return true;
		}

		CSTAConnectionID snapConnID = null;
		synchronized (this.connections) {
			for (int i = 0; i < this.connections.size(); i++) {
				TSConnection conn = (TSConnection) this.connections
						.elementAt(i);
				if (conn.getTSDevice().isMonitorSet()) {
					return true;
				}
				Vector<?> termConns = conn.getTermConns();
				if (termConns != null) {
					synchronized (termConns) {
						for (int j = 0; j < termConns.size(); j++) {
							TSConnection termconn = (TSConnection) termConns
									.elementAt(j);
							if (termconn.getTSDevice().isMonitorSet()) {
								return true;
							}
						}
					}
				}
			}

			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);
					}
				}
			}
		}
		if (snapConnID != null) {
			return doSnapshot(snapConnID, null, true);
		}
		if (this.callID != 0) {
			snapConnID = new CSTAConnectionID(this.callID, "", (short) 0);
			return doSnapshot(snapConnID, null, true);
		}

		return false;
	}