I have the following enum which has a number of constructors:

```
public enum Route
{
   HOMEPAGE("", null, UserType.GUEST);

   Route(String baseName, String langFile, Entity entity) {}
   Route(String langFile, Entity entity)  {}
   Route(String langFile, UserType... availability) {}
   Route(String baseName, String langFile, UserType... availability) {}
}

```

In this case, I'm pretty clearly calling the 4th constructor when I define `HOMEPAGE`. But the problem is, I'm getting the error: `Cannot resolve constructor Route(java.lang.String, null, com.foo.UserType)`. 

If I either remove the varags from the constructor, i.e so it looks like:

```
   Route(String baseName, String langFile, UserType availability) {}

```

Or if I change the null when defining `HOMEPAGE`, i.e:

```
   HOMEPAGE("", "", UserType.GUEST);

```

Then it works. But it doesn't make sense to me why that is. Why doesn't it detect that I'm calling the 4th constructor?