void removeDefaultDeviceObservers(TSDevice tsDevice, boolean isTerminal) {
		Vector<DeviceObs> cbKeepVector = new Vector<DeviceObs>();
		DeviceObs devObs = null;
		DevWithType devWithType = new DevWithType(tsDevice, isTerminal);

		synchronized (this.deviceObsVector) {
			for (int j = 0; j < this.deviceObsVector.size(); j++) {
				devObs = (DeviceObs) this.deviceObsVector.elementAt(j);
				synchronized (devObs.devWithTypeVector) {
					if (devObs.devWithTypeVector.removeElement(devWithType)) {
						if ((devObs.devWithTypeVector.isEmpty())
								&& (!devObs.callback.isVDN())) {
							this.staleObsVector.addElement(devObs.callback);
						} else {
							cbKeepVector.addElement(devObs);
						}
					} else {
						cbKeepVector.addElement(devObs);
					}
				}
			}
			this.deviceObsVector.clear();
			this.deviceObsVector.addAll(cbKeepVector);
		}

		if ((this.internalDeviceMonitor != null)
				&& (this.internalDeviceMonitor.equals(tsDevice))) {
			this.internalDeviceMonitor.removeInternalMonitor(this);
			this.internalDeviceMonitor = null;
			if (!checkForMonitors()) {
				setNeedSnapshot(true);
			}
		}
	}