public boolean matchByStateAndSymbol(String state, String symbol, Symbol symbolRef) throws Exception{
        if(!this.state.equals(state))
            return false;
        
        if(this.symbol != null && !this.symbol.isEmpty())
            return this.symbol.equals(symbol);
        
        return matchSymbolbySymbolRef(symbol, symbolRef);
    }