+ return DirectedBinaryDomainCombination.obtainInstance( ids_ary[ 0 ], ids_ary[ 1 ] );
+ }
+
+ public final static DirectedBinaryDomainCombination obtainInstance( final String n_terminal, final String c_terminal ) {
+ final int code = calcCode( BasicDomain.obtainIdAsShort( n_terminal ), BasicDomain.obtainIdAsShort( c_terminal ) );
+ if ( DDC_POOL.containsKey( code ) ) {
+ return DDC_POOL.get( code );
+ }
+ else {
+ final DirectedBinaryDomainCombination dc = new DirectedBinaryDomainCombination( n_terminal, c_terminal );
+ DDC_POOL.put( code, dc );
+ if ( VERBOSE && ( DDC_POOL.size() % 100 == 0 ) ) {
+ System.out.println( " ddc pool size: " + DDC_POOL.size() );
+ }
+ return dc;
+ }