private IConstant<?>[] _accept(final IBindingSet bset){
  final IConstant<?>[] r=new IConstant<?>[vars.length];
  for (int i=0; i < vars.length; i++) {
    r[i]=bset.get(vars[i]);
  }
  final Solution s=new Solution(r);
  if (log.isTraceEnabled())   log.trace("considering: " + Arrays.toString(r));
  final boolean distinct=map.putIfAbsent(s,s) == null;
  if (distinct && log.isDebugEnabled())   log.debug("accepted: " + Arrays.toString(r));
  return distinct ? r : null;
}

private IConstant < ? > [ ] _accept ( final IBindingSet bset ) { final IConstant < ? > [ ] r = new IConstant < ? > [ vars . length ] ; for ( int i = 0 ; i < vars . length ; i ++ ) { r [ i ] = bset . get ( vars [ i ] ) ; } final Solution s = new Solution ( r ) ; if ( log . isTraceEnabled ( ) ) log . trace ( "considering: " + Arrays . toString ( r ) ) ; final boolean distinct = map . putIfAbsent ( s , s ) == null ; if ( distinct && log . isDebugEnabled ( ) ) log . debug ( "accepted: " + Arrays . toString ( r ) ) ; return distinct ? r : null ; }
if the bindings are distinct for the configured variables then return those bindings .
