You are returning a new Route instance if none matches (what could happen if you have problems with short name extraction in the other method). This could cause unexpected behavior.