/** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    switch (reader.state()) {
      case 0:
        deltas =
            reader.readMap(
                "deltas", MessageCollectionItemType.UUID, MessageCollectionItemType.LONG, false);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 1:
        snapVer = reader.readMessage("snapVer");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(GridClockDeltaSnapshotMessage.class);
  }
  /** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    switch (reader.state()) {
      case 0:
        pageSize = reader.readInt("pageSize");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 1:
        qrys = reader.readCollection("qrys", MessageCollectionItemType.MSG);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 2:
        reqId = reader.readLong("reqId");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 3:
        space = reader.readString("space");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 4:
        topVer = reader.readMessage("topVer");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 5:
        extraSpaces = reader.readCollection("extraSpaces", MessageCollectionItemType.STRING);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 6:
        parts = reader.readIntArray("parts");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(GridQueryRequest.class);
  }
  /** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    if (!super.readFrom(buf, reader)) return false;

    switch (reader.state()) {
      case 3:
        ack = reader.readBoolean("ack");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 4:
        infos =
            reader.readMap(
                "infos", MessageCollectionItemType.INT, MessageCollectionItemType.MSG, false);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 5:
        last = reader.readCollection("last", MessageCollectionItemType.INT);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 6:
        missed = reader.readCollection("missed", MessageCollectionItemType.INT);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 7:
        updateSeq = reader.readLong("updateSeq");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 8:
        workerId = reader.readInt("workerId");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(GridDhtPartitionSupplyMessage.class);
  }
  /** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    switch (reader.state()) {
      case 0:
        clsLdrId = reader.readIgniteUuid("clsLdrId");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 1:
        byte depModeOrd;

        depModeOrd = reader.readByte("depMode");

        if (!reader.isLastRead()) return false;

        depMode = DeploymentMode.fromOrdinal(depModeOrd);

        reader.incrementState();

      case 2:
        locDepOwner = reader.readBoolean("locDepOwner");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 3:
        participants =
            reader.readMap(
                "participants",
                MessageCollectionItemType.UUID,
                MessageCollectionItemType.IGNITE_UUID,
                false);

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 4:
        userVer = reader.readString("userVer");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(GridDeploymentInfoBean.class);
  }
  /** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    switch (reader.state()) {
      case 0:
        bytes = reader.readByteArray("bytes");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(CacheEntrySerializablePredicate.class);
  }
  /** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    switch (reader.state()) {
      case 0:
        val = reader.readMessage("val");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 1:
        ver = reader.readMessage("ver");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(CacheVersionedValue.class);
  }
  /** {@inheritDoc} */
  @Override
  public boolean readFrom(ByteBuffer buf, MessageReader reader) {
    reader.setBuffer(buf);

    if (!reader.beforeMessageRead()) return false;

    switch (reader.state()) {
      case 0:
        cacheId = reader.readInt("cacheId");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 1:
        byte evtTypeOrd;

        evtTypeOrd = reader.readByte("evtType");

        if (!reader.isLastRead()) return false;

        evtType = eventTypeFromOrdinal(evtTypeOrd);

        reader.incrementState();

      case 2:
        filteredEvts = reader.readMessage("filteredEvts");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 3:
        flags = reader.readByte("flags");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 4:
        key = reader.readMessage("key");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 5:
        newVal = reader.readMessage("newVal");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 6:
        oldVal = reader.readMessage("oldVal");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 7:
        part = reader.readInt("part");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 8:
        topVer = reader.readMessage("topVer");

        if (!reader.isLastRead()) return false;

        reader.incrementState();

      case 9:
        updateCntr = reader.readLong("updateCntr");

        if (!reader.isLastRead()) return false;

        reader.incrementState();
    }

    return reader.afterMessageRead(CacheContinuousQueryEntry.class);
  }