anchor.diff:      }
       
       // Build a single regex for the whole path
  -    String regExpStr = r"^\" + this.routeDef.config.RoutePartSeperator + "?";
  -    this.routeDef.routeParts.forEach((part)  // Route Parts
  -        {
  -          if(part is Static)
  -          {
  -            regExpStr += (part as Static).partName;
  -          }
  -          else if(part is Variable) // includes also the Version-Variable
  -          {
  -            var v = part as Variable;
  -            regExpStr += v.isOptional ? "?" : "";
  -            regExpStr += r"([^\/]*)" + (v.isOptional ? "?" : "");
  -          }
  -          else if(part is WildCard)
  -          {
  -            regExpStr += r"?(.*)";
  -          }
  -          
  -          regExpStr += r"\" + this.routeDef.config.RoutePartSeperator;
  -        });
  -    regExpStr += r"?";
  -    
  -    if(this.routeDef.queryParts.length > 0) // Query Parts
  -    {
  -      regExpStr += r"\" + this.routeDef.config.RoutePartQueryStart;
  -      
  -      this.routeDef.queryParts.forEach((part) 
  -          {
  -            if(part is QVariable)
  -            {
  -              var v = part as QVariable;
  -              regExpStr += v.isOptional ? "?" : "";
  -              regExpStr += (v.isOptional ? "(?:" : "") + v.varName + r"=([^\&]*)" + (v.isOptional ? ")?" : "");
  -            }
  -            
  -            regExpStr += r"\" + this.routeDef.config.RoutePartQuerySeperator;
  -          });
  -      
  -      regExpStr += r"?";
  -    }
  -    
  -    regExpStr += r"$";
  +    String regExpStr = this._buildRegExp();
  +    
       this._regex = new RegExp(regExpStr);
     }
     
  
positive.code: 
      return path;
    }
  }
  
  class _VariableManager {
  
negative.code:     {
        // Build a individual regex for each variable (reqiured if optional part are available)
        vars.forEach((vpart) {
            String regExpStr = this._buildRegExp(vpart);
            
            vpart = vpart is WildCard ? new Variable("*", true) : vpart;
            
            this._vars.add(new _VariableManager(new RegExp(regExpStr), vpart));
          });
  