private void addGeographicTransformation(GeodeticDatum targetDatum, CoordinateOperation coordOp, boolean addInverseOp) { if (geographicTransformations.get(targetDatum) == null) { geographicTransformations.put(targetDatum, new HashSet<CoordinateOperation>()); } else if (geographicTransformations.get(targetDatum).contains(coordOp)) return; geographicTransformations.get(targetDatum).add(coordOp); if (addInverseOp) { try { targetDatum.addGeographicTransformation(this, coordOp.inverse(), false); } catch (NonInvertibleOperationException e) { e.printStackTrace(); } } }