public void round( DirectPosition position ) { if (modelType.isFloating()){ // somekind of optimization return; } double coords[] = position.getCoordinates(); position.setOrdinate( 0, makePrecise( coords[0] )); position.setOrdinate( 1, makePrecise( coords[1] )); if( coords.length == 2 ) return; position.setOrdinate( 2, makePrecise( coords[2] )); if( coords.length == 3 ) return; for( int axis = 3; axis < position.getDimension(); axis++ ){ double ordinate = position.getOrdinate( axis ); ordinate = makePrecise( ordinate ); position.setOrdinate( axis, ordinate ); } } }