code: public String getPOIs(String id, double minX, double minY, double maxX, double maxY, List<Param> optionalParams)
  			throws Exception {
  		DescribeService describeService = getDescribeServiceByID(id);
  
  		POIProxyEvent beforeEvent = new POIProxyEvent(POIProxyEventEnum.BeforeBrowseExtent, describeService,
  				new Extent(minX, minY, maxX, maxY), null, null, null, null, null, null, null, null, null);
  
  		notifyListenersBeforeRequest(beforeEvent);
  
  		String geoJSON = this.getCacheData(beforeEvent);
  		boolean fromCache = true;
  
  		if (geoJSON == null) {
  			fromCache = false;
  			geoJSON = getResponseAsGeoJSON(id, optionalParams, describeService, minX, minY, maxX, maxY, 0, 0,
  					beforeEvent);
  		}
  
  		POIProxyEvent afterEvent = new POIProxyEvent(POIProxyEventEnum.AfterBrowseExtent, describeService,
  				new Extent(minX, minY, maxX, maxY), null, null, null, null, null, null, null, geoJSON, null);
  
  		if (!fromCache) {
  			storeData(afterEvent);
  		}
  
  		notifyListenersAfterParse(afterEvent);
  
  		return geoJSON;
  	}
docs: This method is used to get the pois from a service and return a GeoJSON
  document with the data retrieved given a bounding box corners
  
  @param id
  The id of the service
  @param minX
  
  @param minY
  
  @param maxX
  
  @param maxY
  @return The GeoJSON response from the original service response