code: protected static KeyComponent createComponent(Facet facet, ConverterRegistry converterRegistry, NamingStrategy namingStrategy, PojoBindingFactory pojoBindingFactory) {
          Converter converter = converterRegistry.getConverter(facet.getType());
          if (facet.hasAnnotation(PartitionKey.class)) {
              if (converter == null) {
                  throw new HecateException("No converter found for @PartitionKey facet \"%s\".", facet.getName());
              }
              return new PartitionKeyComponent(facet, namingStrategy.getColumnName(facet), converter);
          } else {
              if (converter == null) {
                  PojoBinding<?> pojoBinding = pojoBindingFactory.createPojoBinding(facet.getType().getRawType());
                  return pojoBinding.getKeyBinding().createClusteringColumnReferenceComponent(facet, pojoBinding, namingStrategy);
              } else
                  return new ClusteringColumnComponent(facet, namingStrategy.getColumnName(facet), converter);
          }
      }
docs: ----------------------------------------------------------------------------------------------------------------------