public void addArgsFor(String[] variables, DifferentialFunction function) {
        if (function.getOwnName() == null)
            throw new ND4JIllegalStateException("Instance id can not be null. Function not initialized properly");

        //double check if function contains placeholder args
        for (val varName : variables) {
            if (isPlaceHolder(varName)) {
                placeHolderFunctions.add(function.getOwnName());
            }
        }


        incomingArgs.put(variables, function);
        incomingArgsReverse.put(function.getOwnName(), variables);
        for (val variableName : variables) {
            List<DifferentialFunction> funcs = functionsArgsFor.get(variableName);
            if (funcs == null) {
                funcs = new ArrayList<>();
                functionsArgsFor.put(variableName, funcs);
            }

            funcs.add(function);
        }

    }
public void addArgsFor(String[] variables, DifferentialFunction function) {
        if (function.getOwnName() == null)
            throw new ND4JIllegalStateException("Instance id can not be null. Function not initialized properly");

        
        for (val varName : variables) {
            if (isPlaceHolder(varName)) {
                placeHolderFunctions.add(function.getOwnName());
            }
        }


        incomingArgs.put(variables, function);
        incomingArgsReverse.put(function.getOwnName(), variables);
        for (val variableName : variables) {
            List<DifferentialFunction> funcs = functionsArgsFor.get(variableName);
            if (funcs == null) {
                funcs = new ArrayList<>();
                functionsArgsFor.put(variableName, funcs);
            }

            funcs.add(function);
        }

    }
public void addArgsFor ( String [ ] variables , DifferentialFunction function ) { if ( function . getOwnName ( ) == null ) throw new ND4JIllegalStateException ( "Instance id can not be null. Function not initialized properly" ) ; //double check if function contains placeholder args for ( val varName : variables ) { if ( isPlaceHolder ( varName ) ) { placeHolderFunctions . add ( function . getOwnName ( ) ) ; } } incomingArgs . put ( variables , function ) ; incomingArgsReverse . put ( function . getOwnName ( ) , variables ) ; for ( val variableName : variables ) { List < DifferentialFunction > funcs = functionsArgsFor . get ( variableName ) ; if ( funcs == null ) { funcs = new ArrayList <> ( ) ; functionsArgsFor . put ( variableName , funcs ) ; } funcs . add ( function ) ; } }
Adds incoming args to the graph

@param variables
@param function
Adds incoming args to the graph