lib/HalDependencyResolver.js
function(deviceModules, binaryInfo) {
		var safeDeviceModules = this._repairDescribeErrors(deviceModules);
		var safeBinaryRequires = this._binaryDepsToDescribe(binaryInfo);
		var safeBinaryRequires2 = this._binaryDepsToDescribe(binaryInfo, 2);

		var result =  this._walkChain(safeDeviceModules, safeBinaryRequires);
		this._walkChain(safeDeviceModules, safeBinaryRequires2, result);
		return result;
	}
function(deviceModules, binaryInfo) {
		var safeDeviceModules = this._repairDescribeErrors(deviceModules);
		var safeBinaryRequires = this._binaryDepsToDescribe(binaryInfo);
		var safeBinaryRequires2 = this._binaryDepsToDescribe(binaryInfo, 2);

		var result =  this._walkChain(safeDeviceModules, safeBinaryRequires);
		this._walkChain(safeDeviceModules, safeBinaryRequires2, result);
		return result;
	}
/*
given what modules are 'described' as being on a photon,
and target binary info, figure out which modules need to be updated
on that photon.

@param deviceModules
@param binaryInfo