private IBindingSet[] join(List<List<IBindingSet>> staticBindings){
  if (queryInput == null || queryInput.length == 0) {
    return queryInput;
  }
  List<IBindingSet> leftBindingSets=Arrays.asList(queryInput);
  for (  List<IBindingSet> staticBinding : staticBindings) {
    final List<IBindingSet> tmp=new LinkedList<IBindingSet>();
    for (    IBindingSet left : leftBindingSets) {
      final Iterator<IBindingSet> rightItr=staticBinding.iterator();
      while (rightItr.hasNext()) {
        final IBindingSet right=rightItr.next();
        final IBindingSet join=BOpContext.bind(left,right,null,null);
        if (join != null) {
          tmp.add(join);
        }
      }
    }
    leftBindingSets=tmp;
  }
  return leftBindingSets.toArray(new IBindingSet[leftBindingSets.size()]);
}

private IBindingSet [ ] join ( List < List < IBindingSet > > staticBindings ) { if ( queryInput == null || queryInput . length == 0 ) { return queryInput ; } List < IBindingSet > leftBindingSets = Arrays . asList ( queryInput ) ; for ( List < IBindingSet > staticBinding : staticBindings ) { final List < IBindingSet > tmp = new LinkedList < IBindingSet > ( ) ; for ( IBindingSet left : leftBindingSets ) { final Iterator < IBindingSet > rightItr = staticBinding . iterator ( ) ; while ( rightItr . hasNext ( ) ) { final IBindingSet right = rightItr . next ( ) ; final IBindingSet join = BOpContext . bind ( left , right , null , null ) ; if ( join != null ) { tmp . add ( join ) ; } } } leftBindingSets = tmp ; } return leftBindingSets . toArray ( new IBindingSet [ leftBindingSets . size ( ) ] ) ; }
joins the staticbindings with the queryinput binding set , returning the resulting binding set .
