docs: public List<TypeSpec> buildWhereClasses(GlobalParsingContext context, EntityMetaSignature signature) {
          SelectWhereDSLCodeGen selectWhereDSLCodeGen = context.selectWhereDSLCodeGen();
  
          final List<FieldSignatureInfo> partitionKeys = getPartitionKeysSignatureInfo(signature.fieldMetaSignatures);
          final List<FieldSignatureInfo> clusteringCols = getClusteringColsSignatureInfo(signature.fieldMetaSignatures);
  
  
          final ClassSignatureParams classSignatureParams = ClassSignatureParams.of(SELECT_DSL_SUFFIX,
                  WHERE_DSL_SUFFIX, END_DSL_SUFFIX,
                  ABSTRACT_SELECT_WHERE_PARTITION, ABSTRACT_SELECT_WHERE);
  
          final ClassSignatureParams typedMapClassSignatureParams = ClassSignatureParams.of(SELECT_DSL_SUFFIX,
                  WHERE_TYPED_MAP_DSL_SUFFIX, END_TYPED_MAP_DSL_SUFFIX,
                  ABSTRACT_SELECT_WHERE_PARTITION_TYPED_MAP, ABSTRACT_SELECT_WHERE_TYPED_MAP);
  
          final List<TypeSpec> partitionKeysWhereClasses = buildWhereClassesInternal(signature, selectWhereDSLCodeGen, partitionKeys, clusteringCols,
                  classSignatureParams);
          final List<TypeSpec> partitionKeysWhereTypedMapClasses = buildWhereClassesInternal(signature, selectWhereDSLCodeGen, partitionKeys, clusteringCols,
                  typedMapClassSignatureParams);
          partitionKeysWhereClasses.addAll(partitionKeysWhereTypedMapClasses);
  
          partitionKeysWhereClasses.addAll(generateExtraWhereClasses(context, signature, partitionKeys, clusteringCols));
  
          return partitionKeysWhereClasses;
      }