src/utils/procedure/node/NodeRegister.java
public Node defineNode(Matrix matrix, boolean isSingleNode, int expressionID) throws MatrixException {
        if (entriesByMatrix.containsKey(matrix)) return nodeMatrixMap.get(matrix);
        else {
            Node node = isSingleNode ? new SingleNode(getTotalSize() + 1, matrix) : new MultiNode(getTotalSize() + 1, matrix);
            NodeEntry nodeEntry = new NodeEntry(node, expressionID);
            entriesByMatrix.put(matrix, nodeEntry);
            entriesByNode.put(node, nodeEntry);
            nodeMatrixMap.put(matrix, node);
            return node;
        }
    }
/**
     * Defines and returns node by matrix.<br>
     * If node is not existing creates node with unique expression ID.<br>
     *
     * @param matrix reference to matrix
     * @param isSingleNode if true node is marked as single type
     * @param expressionID expression ID where node was created in
     * @return node created or retrieved.
     * @throws MatrixException throws exception if matrix operation fails.
     */
Defines and returns node by matrix.
If node is not existing creates node with unique expression ID.

@param matrix reference to matrix
@param isSingleNode if true node is marked as single type
@param expressionID expression ID where node was created in
@return node created or retrieved.
@throws MatrixException throws exception if matrix operation fails.
Defines and returns node by matrix . If node is not existing creates node with unique expression ID . @param matrix reference to matrix @param isSingleNode if true node is marked as single type @param expressionID expression ID where node was created in @return node created or retrieved . @throws MatrixException throws exception if matrix operation fails .
public Node defineNode(Matrix matrix, boolean isSingleNode, int expressionID) throws MatrixException {
        if (entriesByMatrix.containsKey(matrix)) return nodeMatrixMap.get(matrix);
        else {
            Node node = isSingleNode ? new SingleNode(getTotalSize() + 1, matrix) : new MultiNode(getTotalSize() + 1, matrix);
            NodeEntry nodeEntry = new NodeEntry(node, expressionID);
            entriesByMatrix.put(matrix, nodeEntry);
            entriesByNode.put(node, nodeEntry);
            nodeMatrixMap.put(matrix, node);
            return node;
        }
    }
public Node defineNode ( Matrix matrix , boolean isSingleNode , int expressionID ) throws MatrixException { if ( entriesByMatrix . containsKey ( matrix ) ) return nodeMatrixMap . get ( matrix ) ; else { Node node = isSingleNode ? new SingleNode ( getTotalSize ( ) + 1 , matrix ) : new MultiNode ( getTotalSize ( ) + 1 , matrix ) ; NodeEntry nodeEntry = new NodeEntry ( node , expressionID ) ; entriesByMatrix . put ( matrix , nodeEntry ) ; entriesByNode . put ( node , nodeEntry ) ; nodeMatrixMap . put ( matrix , node ) ; return node ; } }
Defines and returns node by matrix.<br>
 If node is not existing creates node with unique expression ID.<br>
Defines and returns node by matrix . <br > If node is not existing creates node with unique expression ID . <br >