docs: private int generatePropertyEncodeDecode(
          final Token token,
          final String typeName,
          final StringBuilder encode,
          final StringBuilder decode,
          final int currentOffset)
      {
          final char varName = Character.toLowerCase(typeName.charAt(0));
          final String propertyName = formatPropertyName(token.name());
          final int gap = token.offset() - currentOffset;
          encode.append(generateEncodeOffset(gap, ""));
          decode.append(generateDecodeOffset(gap, ""));
  
          encode.append(String.format(
              "\tif err := %1$s.%2$s.Encode(_m, _w); err != nil {\n" +
              "\t\treturn err\n" +
              "\t}\n",
              varName,
              propertyName));
  
          decode.append(String.format(
              "\tif %1$s.%2$sInActingVersion(actingVersion) {\n" +
              "\t\tif err := %1$s.%2$s.Decode(_m, _r, actingVersion); err != nil {\n" +
              "\t\t\treturn err\n" +
              "\t\t}\n" +
              "\t}\n",
              varName,
              propertyName));
  
          return token.encodedLength() + gap;
      }