protected synchronized void pullInputs() {
		ArrayList<UGen> dependentsClone = (ArrayList<UGen>) dependents.clone();
		size = dependentsClone.size();
		for (int i = 0; i < size; i++) {
			UGen dependent = dependentsClone.get(i);
			if (dependent.isDeleted())
				removeDependent(dependent);
			else
				dependent.update();
		}
		if (!noInputs) {
			zeroIns();
			for (int i = 0; i < inputs.length; i++) {
				ArrayList<BufferPointer> inputsCopy = (ArrayList<BufferPointer>) inputs[i].clone();
				size = inputsCopy.size();
				for (int ip = 0; ip < size; ip++) {
					BufferPointer bp = inputsCopy.get(ip);
					if (bp.ugen.isDeleted())
						inputs[i].remove(bp);
					else {
						bp.ugen.update();
//						buf = bp.getBuffer();
						for (int j = 0; j < bufferSize; j++) {
//							bufIn[i][j] += buf[j];
							bufIn[i][j] += bp.get(j);
						}
					}
				}
			}
		}
	}