content: package im.actor.core.api.rpc;
  /*
   *  Generated by the Actor API Scheme generator.  DO NOT EDIT!
   */
  
  import im.actor.runtime.bser.*;
  import im.actor.runtime.collections.*;
  import static im.actor.runtime.bser.Utils.*;
  import im.actor.core.network.parser.*;
  import org.jetbrains.annotations.Nullable;
  import org.jetbrains.annotations.NotNull;
  import com.google.j2objc.annotations.ObjectiveCName;
  import java.io.IOException;
  import java.util.List;
  import java.util.ArrayList;
  import im.actor.core.api.*;
  
  public class RequestLoadArchived extends Request<ResponseLoadArchived> {
  
      public static final int HEADER = 0xa5b;
      public static RequestLoadArchived fromBytes(byte[] data) throws IOException {
          return Bser.parse(new RequestLoadArchived(), data);
      }
  
      private byte[] nextOffset;
      private int limit;
      private List<ApiUpdateOptimization> optimizations;
  
      public RequestLoadArchived(@Nullable byte[] nextOffset, int limit, @NotNull List<ApiUpdateOptimization> optimizations) {
          this.nextOffset = nextOffset;
          this.limit = limit;
          this.optimizations = optimizations;
      }
  
      public RequestLoadArchived() {
  
      }
  
      @Nullable
      public byte[] getNextOffset() {
          return this.nextOffset;
      }
  
      public int getLimit() {
          return this.limit;
      }
  
      @NotNull
      public List<ApiUpdateOptimization> getOptimizations() {
          return this.optimizations;
      }
  
      @Override
      public void parse(BserValues values) throws IOException {
          this.nextOffset = values.optBytes(1);
          this.limit = values.getInt(2);
          this.optimizations = new ArrayList<ApiUpdateOptimization>();
          for (int b : values.getRepeatedInt(3)) {
              optimizations.add(ApiUpdateOptimization.parse(b));
          }
      }
  
      @Override
      public void serialize(BserWriter writer) throws IOException {
          if (this.nextOffset != null) {
              writer.writeBytes(1, this.nextOffset);
          }
          writer.writeInt(2, this.limit);
          for (ApiUpdateOptimization i : this.optimizations) {
              writer.writeInt(3, i.getValue());
          }
      }
  
      @Override
      public String toString() {
          String res = "rpc LoadArchived{";
          res += "nextOffset=" + byteArrayToStringCompact(this.nextOffset);
          res += ", limit=" + this.limit;
          res += ", optimizations=" + this.optimizations;
          res += "}";
          return res;
      }
  
      @Override
      public int getHeaderKey() {
          return HEADER;
      }
  }
  