question: public void addHyperedgeInNode ( HyperEdge hyperEdge ) { if ( hyperEdge != null ) { if ( null == hyperedges ) hyperedges = new ArrayList < > ( ) ; hyperedges . add ( hyperEdge ) ; semiringPlus ( hyperEdge ) ; } }
target:  Adds the hyperedge to the list of incoming hyperedges (i.e., ways to form this node), creating the list if necessary. We then update the cache of the best incoming hyperedge via a call to the (obscurely named) semiringPlus().