code: @SuppressWarnings("deprecation")
      public CQLBuilder set(final Object entity) {
          if (entity instanceof String) {
              return set(N.asArray((String) entity));
          } else if (entity instanceof Map) {
              return set((Map<String, Object>) entity);
          } else {
              this.entityClass = entity.getClass();
  
              if (N.isDirtyMarker(entity.getClass())) {
                  final DirtyMarker dirtyMarkerEntity = ((DirtyMarker) entity);
                  final Set<String> updatedPropNames = dirtyMarkerEntity.dirtyPropNames();
                  final Map<String, Object> updateProps = new HashMap<>();
  
                  for (String propName : updatedPropNames) {
                      updateProps.put(propName, ClassUtil.getPropValue(dirtyMarkerEntity, propName));
                  }
  
                  return set(updateProps);
              } else {
                  return set(Maps.entity2Map(entity));
              }
          }
      }
docs: Only the dirty properties will be set into the result CQL if the specified entity is a dirty marker entity.
  
  @param entity
  @return