code: function decodeFile (args) {
      var file = args.file;
      var next = args.next;
  
      if (file.encoding && Buffer.isBuffer(file.data)) {
        try {
          // Get the file's data as a buffer, minus any byte order mark
          var buffer = stripBOM(file);
  
          // Attempt to decode the Buffer
          return buffer.toString(file.encoding);
        }
        catch (err) {
          if (/unknown encoding/i.test(err.message)) {
            // Unknown encoding, so just call the next decoder plugin
            next();
          }
          else {
            throw err;
          }
        }
      }
      else {
        // The file data is not a Buffer, so call the next decoder plugin
        next();
      }
    }
docs: Decodes the given file's data, in place.
  
  @param {File} args.file - The {@link File} to decode.
  @param {function} args.next - Calls the next plugin, if the file data cannot be decoded
  @returns {string|undefined}