/** * Determines the WKT variant and calls the according method to decode the WKT. * * @return The decoded WKT as a <code>CoordinateReferenceSystem</code> object. */ private CoordinateReferenceSystem<? extends Position> decode() { if (currentToken == CrsWktVariant.PROJCS) { return decodeProjectedCrs(); } else if (currentToken == CrsWktVariant.GEOGCS) { return decodeGeographicCrs(); } else if (currentToken == CrsWktVariant.GEOCCS) { return decodeGeocentricCrs(); } else if (currentToken == CrsWktVariant.COMPD_CS) { return decodeCompoundCrs(); } else if (currentToken == CrsWktVariant.VERT_CS) { return decodeVertCS(); } throw new WktDecodeException("Expected Wkt Token PROJCS, GEOGCS, GEOCCS or COMPD_CS. Received " + currentToken); }