code: public LineString fromTransferObject(LineStringTo input, CrsId crsId) {
  
          if (input == null) { return null; }
          crsId = getCrsId(input, crsId);
          isValid(input);
  
          return new LineString(createPointSequence(input.getCoordinates(), crsId));
      }
docs: Creates a linestring object starting from a transfer object.
  
  @param input the linestring transfer object
  @param crsId the crs id to use (ignores the crs of the input). If null, uses the crs of the input.
  @return the corresponding geometry
  @throws IllegalArgumentException If the geometry could not be constructed due to an invalid transfer object