if (curHex.getTerrainType() != Terrain.WATER || curHex.getElevation() >= 0) {
if (curHex.levelOf(Terrain.WATER) > 0) {
    public int getHeatCapacityWithWater(Game game) {        int capacity = getHeatCapacity();        int sinksUnderwater = 0;        final Hex curHex = game.board.getHex(getPosition());        // are we even in water?  is it depth 1+        if (curHex.getTerrainType() != Terrain.WATER            || curHex.getElevation() >= 0) {            return capacity;        } else if (curHex.getElevation() == -1) {          if ( isProne() ) {            sinksUnderwater = getHeatCapacity();          } else {            for (Enumeration i = miscList.elements(); i.hasMoreElements();) {                Mounted mounted = (Mounted)i.nextElement();                if (mounted.getType().hasFlag(MiscType.F_HEAT_SINK) && !mounted.isDestroyed() && locationIsLeg(mounted.getLocation()) ) {                    sinksUnderwater++;                }            }          }        } else if (curHex.getElevation() <= -2) {            sinksUnderwater = getHeatCapacity();        }                return capacity + Math.min(sinksUnderwater, 6);    }