code: public String getAuthenticationMethods(String username, String servicename)
  			throws SshException {
  		sendRequest(username, servicename, "none", null);
  
  		try {
  			readMessage();
  			transport
  					.disconnect(TransportProtocol.PROTOCOL_ERROR,
  							"Unexpected response received from Authentication Protocol");
  			throw new SshException(
  					"Unexpected response received from Authentication Protocol",
  					SshException.PROTOCOL_VIOLATION);
  		} catch (AuthenticationResult result) {
  			state = result.getResult();
  			EventServiceImplementation
  					.getInstance()
  					.fireEvent(
  							(new Event(
  									this,
  									J2SSHEventCodes.EVENT_AUTHENTICATION_METHODS_RECEIVED,
  									true))
  									.addAttribute(
  											J2SSHEventCodes.ATTRIBUTE_AUTHENTICATION_METHODS,
  											result.getAuthenticationMethods()));
  			return result.getAuthenticationMethods();
  		}
  	}
docs: Get a list of available authentication methods for the user. It is
  advisable to call this method after contsructing the protocol instance
  and setting a <a href="BannerDisplay.html">BannerDisplay</a>. If the
  server has a banner message to display it is most likely that the server
  will send it before completing this list.
  
  @param username
  @param servicename
  @return a comma delimited list of authentication methods.
  @throws SshException