code: public boolean and(SimpleTest newTest) {
      for (int i = 0; i < tmpSimpleTests.size(); i++) {
        SimpleTest cand = (SimpleTest) tmpSimpleTests.get(i);
        if (cand.getIdentifier().getName().equals(newTest.getIdentifier().getName()))
        {
      	// Careful, may be operating in XPath selector domain, in which
      	// case we need more stringent tests
      	if(cand.getIdentifier().isExtended())
      	{
            if(cand.getIdentifier().getStep() == newTest.getIdentifier().getStep())
            {
              // Identifiers have same name and same location step
          	return cand.combine(newTest);
            }
          }
      	else
      	  return cand.combine(newTest);
        }
      }
      tmpSimpleTests.add(newTest);
      alwaysTrue = false;
      return true;
    }
docs: Add a SimpleTest to the Conjunction, searching for contradictions.
  
  @param newTest the new SimpleTest to be added
  
  @return true if the new test is compatible with the old (a false return means the
  conjunction will always be false because the test is always false)