code: public String setStringValue(String value) throws ControlException {
  		String v = null;
  		
  		if(type!=V4L4JConstants.CTRL_TYPE_STRING)
  			throw new UnsupportedMethod("This control is not a string control");
  		
  		if (value.length() > max)
  			throw new ControlException("The new string value for this control exceeds the maximum length");
  		if (value.length() < min)
  			throw new ControlException("The new string value for this control is below the minimum length");
  		
  		state.get();
  		
  		try { 
  			doSetStringValue(v4l4jObject,id, value);
  			v = doGetStringValue( v4l4jObject, id);
  		} finally {
  			state.put();
  		}
  
  		return v;
  	}
docs: This method sets a new string value for this control. The returned value
  is the new value of the control.
  @param value the new value
  @return the new value of the control after setting it
  @throws ControlException if the value can not be set, or if the new string value's length
  is under / over the minimum / maximum length.
  @throws UnsupportedMethod if this control is not of type {@link V4L4JConstants#CTRL_TYPE_STRING},
  @throws StateException if this control has been released and must not be used anymore.