docs: public static byte[] decodeFromFile(String filename)
  	{
  		byte[] decodedData = null;
  		Base64.InputStream bis = null;
  		try
  		{
  			// Set up some useful variables
  			java.io.File file = new java.io.File(filename);
  			byte[] buffer = null;
  			int length = 0;
  			int numBytes = 0;
  
  			// Check for size of file
  			if (file.length() > Integer.MAX_VALUE)
  			{
  				return null;
  			} // end if: file too big for int index
  			buffer = new byte[(int) file.length()];
  
  			// Open a stream
  			bis = new Base64.InputStream(new java.io.BufferedInputStream(new java.io.FileInputStream(file)), Base64.DECODE);
  
  			// Read until done
  			while ((numBytes = bis.read(buffer, length, 4096)) >= 0)
  				length += numBytes;
  
  			// Save in a variable to return
  			decodedData = new byte[length];
  			System.arraycopy(buffer, 0, decodedData, 0, length);
  
  		} // end try
  		catch (java.io.IOException e)
  		{
  		} // end catch: IOException
  		finally
  		{
  			try
  			{
  				if (bis != null)
  					bis.close();
  			}
  			catch (Exception e)
  			{
  			}
  		} // end finally
  
  		return decodedData;
  	}