code: private void parseFile(File schemaSourceFile, CourierParseResult result)
        throws IOException
    {
      if (wasResolved(schemaSourceFile))
      {
        return;
      }
  
      final List<DataSchema> schemas = parseSchema(schemaSourceFile, result);
  
      for (DataSchema schema : schemas)
      {
        validateSchemaWithFilePath(schemaSourceFile, schema);
        result.getSchemaAndLocations().put(schema, new FileDataSchemaLocation(schemaSourceFile));
        result.getSourceFiles().add(schemaSourceFile);
      }
    }
docs: Parse a source that specifies a file (not a fully qualified schema name).
  
  @param schemaSourceFile provides the source file.
  
  @param result {@link ParseResult} to update.
  
  @throws IOException if there is a file access error.