code: function traceSources(node, original) {
  			var i,
  				source,
  				sources;
  
  			if (!(node instanceof EffectNode) && !(node instanceof TransformNode)) {
  				return false;
  			}
  
  			sources = node.sources;
  
  			for (i in sources) {
  				if (sources.hasOwnProperty(i)) {
  					source = sources[i];
  
  					if (source === original || traceSources(source, original)) {
  						return true;
  					}
  				}
  			}
  
  			return false;
  		}
docs: trace back all sources to make sure we're not making a cyclical connection