private BoundWcsRequest negotiateResponseCRS(BoundWcsRequest request) throws IOException { Set<String> crss = request.getSupportedResponseCRSs(); // Hack. It will work so long as backing servers // are GeoServers if (crss.isEmpty() && request.getNativeCRSs().isEmpty()) return request; if (!crss.contains(request.getResponseEpsgCode())) { String newCrs = "EPSG:4326"; if (request.getNativeCRSs().isEmpty()) { Iterator<String> crsIter = crss.iterator(); if (!crss.contains(newCrs) && crsIter.hasNext()) { newCrs = crsIter.next(); } else { } } else { newCrs = request.getNativeCRSs().iterator().next(); } return request.withCRS(newCrs); } return request; }