Currently the constructor for AuthenticationMethod throws an exception when the username is empty (String.Empty). This prevents from creating a connection with blank username (eg. Cisco routers).
The fix should be simple, just change
```
protected AuthenticationMethod(string username)
{
if (username.IsNullOrWhiteSpace())
throw new ArgumentException("username");
Username = username;
}
```
to:
```
protected AuthenticationMethod(string username)
{
if (username == null)
throw new ArgumentException("username");
Username = username;
}
```
The fix should be simple, just change
```
protected AuthenticationMethod(string username)
{
if (username.IsNullOrWhiteSpace())
throw new ArgumentException("username");
Username = username;
}
```
to:
```
protected AuthenticationMethod(string username)
{
if (username == null)
throw new ArgumentException("username");
Username = username;
}
```