private static int[][][] iter_splitranges_dispersal(int[] rng) {
		int numofzeros = 0;
		for (int i = 0; i < rng.length; i++) {
			if (rng[i] == 0)
				numofzeros++;
		}
		int[][][] retA = new int[0][][];
		if (numofzeros > 0) {
			for (int i = 0; i < rng.length; i++) {
				int[] tempLA = new int[rng.length];
				int[] tempRA = new int[rng.length];
				if (rng[i] == 0) {
					tempRA = rng;
					for (int j = 0; j < rng.length; j++) {
						tempLA[j] = 0;
						if (j == i) {
							tempLA[j] = 1;
						}
					}
					retA = Utils.addToArray(retA, tempLA, tempRA);
					retA = Utils.addToArray(retA, tempRA, tempLA);
				}
			}
		}
		return retA;
	}