public void forceValueValid() {
    	// override to define a way to force an invalid/disallowed value to be valid/allowed
    	Object o=getValue();
        if(o==null)
            return;
        if(this.getNodeProperty().getDataType().isAssignableFrom(String.class)) {
            // default behavior for strings: no nulls or control characters allowed
        	// to make valid, replace invalid characters with "?"
            setValue(StringUtils.stripControlCharacters(toString()));
        } // else default is to assume valid
        return;
    }