code: private SpatialReferenceSystem createIfNeeded(SpatialReferenceSystem srs,
  			String organization, long id) throws SQLException {
  
  		if (srs == null) {
  
  			if (organization
  					.equalsIgnoreCase(ProjectionConstants.AUTHORITY_EPSG)) {
  
  				switch ((int) id) {
  				case ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM:
  					srs = createWgs84();
  					break;
  				case ProjectionConstants.EPSG_WEB_MERCATOR:
  					srs = createWebMercator();
  					break;
  				case ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM_GEOGRAPHICAL_3D:
  					srs = createWgs84Geographical3D();
  					break;
  				default:
  					throw new GeoPackageException(
  							"Spatial Reference System not supported for metadata creation. Organization: "
  									+ organization + ", id: " + id);
  				}
  			} else if (organization
  					.equalsIgnoreCase(ProjectionConstants.AUTHORITY_NONE)) {
  				switch ((int) id) {
  				case ProjectionConstants.UNDEFINED_CARTESIAN:
  					srs = createUndefinedCartesian();
  					break;
  				case ProjectionConstants.UNDEFINED_GEOGRAPHIC:
  					srs = createUndefinedGeographic();
  					break;
  				default:
  					throw new GeoPackageException(
  							"Spatial Reference System not supported for metadata creation. Organization: "
  									+ organization + ", id: " + id);
  				}
  			} else {
  				throw new GeoPackageException(
  						"Spatial Reference System not supported for metadata creation. Organization: "
  								+ organization + ", id: " + id);
  			}
  		} else {
  			setDefinition_12_063(srs);
  		}
  
  		return srs;
  	}
docs: Create the srs if needed
  
  @param srs
  srs if exists or null
  @param organization
  organization
  @param id
  coordinate id
  @return srs
  @throws SQLException