code: public static FetchRequest readFrom(ByteBuffer buffer) {
          String topic = Utils.readShortString(buffer);
          int partition = buffer.getInt();
          long offset = buffer.getLong();
          int size = buffer.getInt();
          return new FetchRequest(topic, partition, offset, size);
      }
docs: Read a fetch request from buffer(socket data)
  
  @param buffer the buffer data
  @return a fetch request
  @throws IllegalArgumentException while error data format(no topic)