code: function singleOrDefault(expression) {
  
  		//Define output
  		var outData;
  		
  		//If there's no expression
  		if (!expression){
  		
  			//Just assign current items
  			outData = this.items;
  		}
  		else{
  		
  			//Otherwise apply where condition
  			outData = jslinq(this.items)
  				.where(expression)
  				.toList();
  		}
  	
          //If output list does not contains element, return null
          if (outData.length === 0)
              return null;
  
          //If contains just one element, returns element
          if (outData.length == 1)
              return outData[0];
  
          //If contains more than one element, throws
          throw new Error("Sequence contains " + outData.length + " matching elements");
      }
docs: #region "singleOrDefault" Select elements that match expression