code: public static Demo.CDemoFileInfo infoForSource(final Source source) throws IOException {
          EngineType engineType = source.readEngineType();
          source.setPosition(source.readFixedInt32());
          PacketInstance<GeneratedMessage> pi = engineType.getNextPacketInstance(source);
          return (Demo.CDemoFileInfo) pi.parse();
      }
docs: Retrieves summary-data from the given input source
  
  @param source the {@code Source} providing the replay data
  @return the {@code CDemoFileInfo} protobuf message
  @throws IOException if the given source is invalid
  @see Source