public synchronized void addAllComponent(RTNamingContext nc) throws Exception {
		Exception ebuf = null;
		boolean startFlag = false;
		if (futureList == null) {
			futureList = new ArrayList<Future<Integer>>();
			startFlag = true;
		}
		for (RTNamingContext rtnc : nc) {
			if (rtnc.getKind().equals("rtc")) {
				String fullpath = rtnc.getFullPath();
				if (this.getComponentByFullPath(fullpath) == null) {
					try {
						this.addComponentAsynch(fullpath);
					} catch (Exception e) {
						// TODO 自動生成された catch ブロック
						e.printStackTrace();
						ebuf = e;
					}
				}
			} else {
				try {

					addAllComponent(rtnc);
				} catch (Exception e) {
					ebuf = e;
				}
			}
		}
		if (startFlag) {
			asynchAddJoin();
			futureList = null;
		}
		if (ebuf != null) {
			throw ebuf;
		}
	}