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

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

    switch (reader.state()) {
      case 0:
        cpSpi = reader.readString("cpSpi");

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

        reader.incrementState();

      case 1:
        key = reader.readString("key");

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

        reader.incrementState();

      case 2:
        sesId = reader.readIgniteUuid("sesId");

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

        reader.incrementState();
    }

    return true;
  }