private static int encodeTestMessage(final ByteBuffer buffer) {
    final UnsafeBuffer directBuffer = new UnsafeBuffer(buffer);

    int bufferOffset = 0;
    MESSAGE_HEADER
        .wrap(directBuffer, bufferOffset)
        .blockLength(MSG_ENCODER.sbeBlockLength())
        .templateId(MSG_ENCODER.sbeTemplateId())
        .schemaId(MSG_ENCODER.sbeSchemaId())
        .version(MSG_ENCODER.sbeSchemaVersion());

    bufferOffset += MESSAGE_HEADER.encodedLength();

    MSG_ENCODER
        .wrap(directBuffer, bufferOffset)
        .structure()
        .enumOne(EnumOne.Value10)
        .zeroth((byte) 42);

    MSG_ENCODER.structure().setOne().clear().bit0(false).bit16(true).bit26(false);

    MSG_ENCODER.structure().inner().first(101).second(202);

    return MSG_ENCODER.encodedLength();
  }