public SDVariable updateVariableNameAndReference(SDVariable varToUpdate, String newVarName) {
        if (varToUpdate == null) {
            throw new NullPointerException("Null input: No variable found for updating!");
        }

        if (newVarName == null && variableMap.containsKey(varToUpdate.getVarName())) {
            //Edge case: suppose we do m1=sd.mean(in), m2=sd.mean(m1) -> both initially have the name
            // "mean" and consequently a new variable name needs to be generated
            newVarName = generateNewVarName(varToUpdate.getVarName(), 0);
        }

        if (newVarName == null || varToUpdate.getVarName().equals(newVarName)) {
            return varToUpdate;
        }

        val oldVarName = varToUpdate.getVarName();
        varToUpdate.setVarName(newVarName);
        updateVariableName(oldVarName, newVarName);
        return varToUpdate;
    }
public SDVariable updateVariableNameAndReference(SDVariable varToUpdate, String newVarName) {
        if (varToUpdate == null) {
            throw new NullPointerException("Null input: No variable found for updating!");
        }

        if (newVarName == null && variableMap.containsKey(varToUpdate.getVarName())) {
            
            
            newVarName = generateNewVarName(varToUpdate.getVarName(), 0);
        }

        if (newVarName == null || varToUpdate.getVarName().equals(newVarName)) {
            return varToUpdate;
        }

        val oldVarName = varToUpdate.getVarName();
        varToUpdate.setVarName(newVarName);
        updateVariableName(oldVarName, newVarName);
        return varToUpdate;
    }
public SDVariable updateVariableNameAndReference ( SDVariable varToUpdate , String newVarName ) { if ( varToUpdate == null ) { throw new NullPointerException ( "Null input: No variable found for updating!" ) ; } if ( newVarName == null && variableMap . containsKey ( varToUpdate . getVarName ( ) ) ) { //Edge case: suppose we do m1=sd.mean(in), m2=sd.mean(m1) -> both initially have the name // "mean" and consequently a new variable name needs to be generated newVarName = generateNewVarName ( varToUpdate . getVarName ( ) , 0 ) ; } if ( newVarName == null || varToUpdate . getVarName ( ) . equals ( newVarName ) ) { return varToUpdate ; } val oldVarName = varToUpdate . getVarName ( ) ; varToUpdate . setVarName ( newVarName ) ; updateVariableName ( oldVarName , newVarName ) ; return varToUpdate ; }
Updates the variable name
property on the passed in variable,
the reference in samediff,
and returns the variable.
<p>
Note that if null for the new variable is passed in,
it will just return the original input variable.

@param varToUpdate the variable to update
@param newVarName  the new variable name
@return the passed in variable
Updates the variable name property on the passed in variable the reference in samediff and returns the variable . <p > Note that if null for the new variable is passed in it will just return the original input variable .