code: public static Geometry split(Geometry geomA, Geometry geomB, double tolerance) throws SQLException {
          if (geomA instanceof Polygon) {
              throw new SQLException("Split a Polygon by a line is not supported using a tolerance. \n"
                      + "Please used ST_Split(geom1, geom2)");
          } else if (geomA instanceof LineString) {
              if (geomB instanceof LineString) {
                  throw new SQLException("Split a line by a line is not supported using a tolerance. \n"
                          + "Please used ST_Split(geom1, geom2)");
              } else if (geomB instanceof Point) {
                  return splitLineWithPoint((LineString) geomA, (Point) geomB, tolerance);
              }
          } else if (geomA instanceof MultiLineString) {
              if (geomB instanceof LineString) {
                  throw new SQLException("Split a multiline by a line is not supported using a tolerance. \n"
                          + "Please used ST_Split(geom1, geom2)");
              } else if (geomB instanceof Point) {
                  return splitMultiLineStringWithPoint((MultiLineString) geomA, (Point) geomB, tolerance);
              }
          }
          throw new SQLException("Split a " + geomA.getGeometryType() + " by a " + geomB.getGeometryType() + " is not supported.");
      }
docs: Split a geometry a according a geometry b using a snapping tolerance.
  
  This function support only the operations :
  
  - split a line or a multiline with a point.
  
  @param geomA the geometry to be splited
  @param geomB the geometry used to split
  @param tolerance a distance tolerance to snap the split geometry
  @return
  @throws java.sql.SQLException