public static DatarateProperty createSoftRequirement(int bandwidthKBitSec, double percentageMinimalRequired)
	{
		if(percentageMinimalRequired > 1) percentageMinimalRequired = 1.0d;
		if(percentageMinimalRequired < 0) percentageMinimalRequired = 0;

		// do we require 100% of requested at minimum?
		if(percentageMinimalRequired >= (1.0d -EPS)) {
			// a very hard soft requirement ;-)
			return new DatarateProperty(bandwidthKBitSec, Limit.MIN);
		} else {
			/*
			 * Depending on the maximum and the percentage of minimal acceptable
			 * of that data rate, we calculate a new expectation value and variance
			 * for a normal distribution, which represents that requirement. 
			 */
			double DStrich = ((1.0d +percentageMinimalRequired)/2.0d) *bandwidthKBitSec;
			double sigma = (DStrich -(percentageMinimalRequired *bandwidthKBitSec)) /3.0d;	    			
				
			return new DatarateProperty((int)Math.round(DStrich), sigma*sigma, Limit.MIN);
		}
	}