docs: public static byte[] read(File pFile) throws IOException {
          // Custom implementation, as we know the size of a file
          if (!pFile.exists()) {
              throw new FileNotFoundException(pFile.toString());
          }
  
          byte[] bytes = new byte[(int) pFile.length()];
          InputStream in = null;
  
          try {
              // Use buffer size two times byte array, to avoid i/o bottleneck
              in = new BufferedInputStream(new FileInputStream(pFile), BUF_SIZE * 2);
  
              int off = 0;
              int len;
              while ((len = in.read(bytes, off, in.available())) != -1 && (off < bytes.length)) {
                  off += len;
                  //              System.out.println("read:" + len);
              }
          }
          // Just pass any IOException on up the stack
          finally {
              close(in);
          }
  
          return bytes;
      }