code: @SuppressWarnings({"rawtypes", "unchecked"})
      public static void setOffset( Symbolizer symbolizer, String text ) {
          if (text.indexOf(',') == -1) {
              return;
          }
          String[] split = text.split(",");
          if (split.length != 2) {
              return;
          }
          double xOffset = Double.parseDouble(split[0]);
          double yOffset = Double.parseDouble(split[1]);
  
          Expression geometry = symbolizer.getGeometry();
          if (geometry != null) {
              if (geometry instanceof FilterFunction_offset) {
                  FilterFunction_offset offsetFunction = (FilterFunction_offset) geometry;
                  List parameters = offsetFunction.getParameters();
                  parameters.set(1, ff.literal(xOffset));
                  parameters.set(2, ff.literal(yOffset));
              }
          } else {
              Function function = ff.function("offset", ff.property("the_geom"), ff.literal(xOffset), ff.literal(yOffset));
              symbolizer.setGeometry(function);
          }
      }
docs: Sets the offset in a symbolizer.
  
  @param symbolizer the symbolizer.
  @param text the text representing the offsets in the CSV form.