code: def match (self, property_set_, debug):
          
          # The condition is composed of all base non-conditional properties.
          # It's not clear if we should expand 'self.requirements_' or not.
          # For one thing, it would be nice to be able to put
          #    <toolset>msvc-6.0
          # in requirements.
          # On the other hand, if we have <variant>release in condition it
          # does not make sense to require <optimization>full to be in
          # build request just to select this variant.
          assert isinstance(property_set_, property_set.PropertySet)
          bcondition = self.requirements_.base ()
          ccondition = self.requirements_.conditional ()
          condition = b2.util.set.difference (bcondition, ccondition)
  
          if debug:
              print "    next alternative: required properties:", [str(p) for p in condition]
  
          if b2.util.set.contains (condition, property_set_.all()):
  
              if debug:
                  print "        matched"
  
              return condition
  
          else:
              return None
docs: Returns the alternative condition for this alternative, if
              the condition is satisfied by 'property_set'.