code: private static boolean touchesLineString(Geometry lineString, Coordinate coordinate) {
  		// Basic argument checking:
  		if (lineString.getCoordinates() == null || lineString.getCoordinates().length == 0) {
  			return false;
  		}
  
  		// First loop over the vertices (end-points). This will be the most common case:
  		for (int i = 0; i < lineString.getCoordinates().length; i++) {
  			if (lineString.getCoordinates()[i].equals(coordinate)) {
  				return true;
  			}
  		}
  
  		// Now loop over the edges:
  		for (int i = 1; i < lineString.getCoordinates().length; i++) {
  			double distance = distance(lineString.getCoordinates()[i - 1], lineString.getCoordinates()[i], coordinate);
  			if (distance < PARAM_DEFAULT_DELTA) {
  				return true;
  			}
  		}
  
  		// No touchy!
  		return false;
  	}
docs: -------------------------------------------------------------------------