public List<Object> ReadObjects(Configuration configuration, BinaryContext context)
 {
     CheckConfigurationAndContext(configuration,context);
     var objects = new List<object>();
     var splitter = GetSplitter();
     var splittedResult = splitter.Split(configuration, context);
     var subContext = new BinaryContext();
     foreach (var splittedData in splittedResult)
     {
         subContext.InitializeFromArray(splittedData);
         var result = ReadObjectsFromSubContext(configuration, subContext, objects);
         objects.Add(result);
     }
     return objects;
 }