code: public void initialise(Identifier rootId, boolean enableCache)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.entry(cclass, "initialise", new Object[] {rootId, new Boolean(enableCache)});
  
      switch (rootId.getType()) {
        case Selector.UNKNOWN :
        case Selector.OBJECT :
          matchTree = new EqualityMatcher(rootId);
          break;
        case Selector.STRING :
        case Selector.TOPIC :
          matchTree = new StringMatcher(rootId);
          break;
        case Selector.BOOLEAN :
          matchTree = new BooleanMatcher(rootId);
          break;
        default:
          matchTree = new NumericMatcher(rootId);
          break;
      }
      if (enableCache) {
        this.rootId = rootId;
        matchCache = new MatchCache(MATCH_CACHE_INITIAL_CAPACITY);
        matchCache.setRehashFilter(this);
        ((EqualityMatcher) matchTree).setCacheing(true);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.exit(cclass, "MatchSpaceImpl", this);
    }
docs: Initialise a newly created MatchSpace
  
  @param rootId
  @param enableCache