code: function(a, b, bData) {
  
  		var aClauseProps = this.getClauseProperties(a);
  		var bClauseProps = this.getClauseProperties(b);
  
  		// ignoring ordering, can we reduce set b into set a?
  		var isSubset = this.subset(
  			assign({}, aClauseProps.where, aClauseProps.paginate),
  			assign({}, bClauseProps.where, bClauseProps.paginate)
  		);
  
  		if(isSubset) {
  			return get.subsetData(a, b, bData, this);
  		}
  	}
docs: @function can-set.Algebra.prototype.getSubset getSubset
  @parent can-set.Algebra.prototype
  
  @signature `algebra.getSubset(a, b, bData)`
  
  Gets `a` set's items given a super set `b` and its items.
  
  ```js
  algebra.getSubset(
  {type: "dog"},
  {},
  [{id: 1, type:"cat"},
  {id: 2, type: "dog"},
  {id: 3, type: "dog"},
  {id: 4, type: "zebra"}]
  ) //-> [{id: 2, type: "dog"},{id: 3, type: "dog"}]
  ```
  
  @param  {can-set/Set} a The set whose data will be returned.
  @param  {can-set/Set} b A superset of set `a`.
  @param  {Array<Object>} bData The data in set `b`.
  @return {Array<Object>} The data in set `a`.