code: public ArrayList<JTSFeature> getFeaturesByCategory(String category, double lon, double lat, double distanceInMeters,
  			List<Param> optionalParams) throws Exception {
  		List<String> ids = serviceManager.getAvailableServices().getServicesIDByCategory(category);
  		ArrayList<JTSFeature> features = new ArrayList<JTSFeature>();
  		for (String id : ids) {
  			try {
  				features.addAll(this.getFeatures(id, lon, lat, distanceInMeters, optionalParams));
  			} catch (Exception e) {
  				logger.error("POIProxy", e);
  			}
  		}
  
  		return features;
  
  	}
docs: This method is used to get the pois from a category and return a list of
  {@link JTSFeature} document with the data retrieved given a longitude,
  latitude and a radius in meters.
  
  @param id
  The id of the service
  @param lon
  The longitude
  @param lat
  The latitude
  @param distanceInMeters
  The distance in meters from the lon, lat
  @return A list of {@link JTSFeature}