@Override
	public Property deriveRequirements(Property property) throws PropertyException
	{
		if(property instanceof DatarateProperty) {
			// do NoS restricts data rate?
			if(getMax() != UNDEFINED) {
				int minDR = ((DatarateProperty) property).getMin();
				
				if(minDR != UNDEFINED) {
					// max data rate introduced and min data rate required
					if(minDR <= getMax()) {
						return new DatarateProperty(minDR, minDR, 0);
					} else {
						throw new PropertyException(this, "Min of " +property +" exceeds max value " +this);
					}
				} else {
					// data rate introduced and not required
					return new DatarateProperty(UNDEFINED, getMax(), 0);
				}
			} else {
				// no data rate introduced by NoS
				return property;
			}
		} else {
			throw new PropertyException(this, "Parameter " +property +" is not a " +DatarateProperty.class + " object.");
		}
	}