code: public static SshPrivateKeyFile parse(byte[] formattedkey)
  			throws IOException {
  
  		try {
  			if (OpenSSHPrivateKeyFile.isFormatted(formattedkey)) {
  				return new OpenSSHPrivateKeyFile(formattedkey);
  			} else if (Base64EncodedFileFormat.isFormatted(formattedkey,
  					SshtoolsPrivateKeyFile.BEGIN, SshtoolsPrivateKeyFile.END)) {
  				return new SshtoolsPrivateKeyFile(formattedkey);
  			} else if (PuTTYPrivateKeyFile.isFormatted(formattedkey)) {
  				return new PuTTYPrivateKeyFile(formattedkey);
  			} else if (SSHCOMPrivateKeyFile.isFormatted(formattedkey)) {
  				return new SSHCOMPrivateKeyFile(formattedkey);
  			} else {
  				throw new IOException(
  						"A suitable key format could not be found!");
  			}
  		} catch (OutOfMemoryError ex) {
  			throw new IOException(
  					"An error occurred parsing a private key file! Is the file corrupt?");
  		}
  
  	}
docs: Parse formatted data and return a suitable <a
  href="SshPrivateKeyFile.html">SshPrivateKeyFile</a> implementation.
  
  @param formattedkey
  @return SshPrivateKeyFile
  @throws IOException