code: function readFile (file, callback) {
    var schema = file.schema;
    file[__internal].state = STATE_READING;
  
    if (schema.config.sync) {
      schema.plugins.readFileSync({ file: file });
      doneReading(null);
    }
    else {
      schema.plugins.readFileAsync({ file: file }, doneReading);
    }
  
    function doneReading (err) {
      if (err) {
        callback(err);
      }
      else {
        file[__internal].state = STATE_READ;
        safeCall(decodeFile, file, callback);
      }
    }
  }
docs: Reads the given file from its source (e.g. web server, filesystem, etc.)
  
  @param {File} file
  @param {function} callback