// can consume only file access
 /// <summary>
 /// This consumer is NOT prepared to handle sessions.
 /// It can only handle the file access.
 /// There is no way (without cheating) to pass in a SQL data access here
 /// </summary>
 public void Consume2(PlainDataAccess dataAccess)
 {
     Console.WriteLine(
         dataAccess.DataAccess.GetData()
         );
     dataAccess.DataAccess.SetData("data");
 }
 public static SessionedDataAccess Create(PlainDataAccess dataAccess)
 {
     return(new SessionedDataAccess(dataAccess: dataAccess.DataAccess, session: NoOpSession.Instance,
                                    disposable: NoOpDisposable.Instance));
 }
 /// <summary>
 /// allows to use a plain data access as a sessioned data access by providing no-op  ISession and IDisposable implementations
 /// </summary>
 public static SessionedDataAccess Promote(this PlainDataAccess self)
 {
     return(SessionedDataAccess.Create(dataAccess: self));
 }