I have the following type hierarchy:
public interface IDocument { IEnumerable Query(string query); string FileName { get; }