code: static InputStream streamKeystore(Object keystore) throws InvalidKeystoreReferenceException {
  		validateKeystoreParameter(keystore);
  		try {
  			if (keystore instanceof InputStream) return (InputStream) keystore;
  			else if (keystore instanceof KeyStore) return new WrappedKeystore((KeyStore) keystore);
  			else if (keystore instanceof File) return new BufferedInputStream(new FileInputStream((File) keystore));
  			else if (keystore instanceof String) return new BufferedInputStream(new FileInputStream((String) keystore));
  			else if (keystore instanceof byte[]) return new ByteArrayInputStream((byte[]) keystore);
  			else return null; // we should not get here since validateKeystore ensures that the reference is valid
  		} catch (Exception e) {
  			throw new InvalidKeystoreReferenceException("Invalid keystore reference: " + e.getMessage());
  		}
  	}
docs: Given an object representing a keystore, returns an actual stream for that keystore.
  Allows you to provide an actual keystore as an InputStream or a byte[] array,
  or a reference to a keystore file as a File object or a String path.
  
  @param keystore a keystore containing your private key and the certificate signed by Apple (File, InputStream, byte[], KeyStore or String for a file path)
  @return A stream to the keystore.
  @throws FileNotFoundException