code: private void setCollectionValue(Object entity, Object thriftColumnValue, Attribute attribute)
      {
          try
          {
              ByteBuffer valueByteBuffer = ByteBuffer.wrap((byte[]) thriftColumnValue);
              if (Collection.class.isAssignableFrom(((Field) attribute.getJavaMember()).getType()))
              {
  
                  Class<?> genericClass = PropertyAccessorHelper.getGenericClass((Field) attribute.getJavaMember());
  
                  PropertyAccessorHelper.set(entity, (Field) attribute.getJavaMember(), CassandraDataTranslator
                          .decompose(((Field) attribute.getJavaMember()).getType(), valueByteBuffer, genericClass, true));
              }
  
              else if (((Field) attribute.getJavaMember()).getType().isAssignableFrom(Map.class))
              {
  
                  List<Class<?>> mapGenericClasses = PropertyAccessorHelper.getGenericClasses((Field) attribute
                          .getJavaMember());
  
                  PropertyAccessorHelper.set(entity, (Field) attribute.getJavaMember(), CassandraDataTranslator
                          .decompose(((Field) attribute.getJavaMember()).getType(), valueByteBuffer, mapGenericClasses,
                                  true));
              }
          }
          catch (Exception e)
          {
              log.error("Error while setting field{} value via CQL, Caused by: .", attribute.getName(), e);
              throw new PersistenceException(e);
          }
      }
docs: Populates collection field(s) into entity.
  
  @param entity
  the entity
  @param thriftColumnValue
  the thrift column value
  @param attribute
  the attribute