/** * Verify that a location is actually on sea. * @param point to be checked * @return true if the point is at sea. */ public boolean isOnSea(Point2D point) { if (onSea.containsKey(point)) { return mapByteToBoolean(onSea.get(point)); } else { final int x = (int) point.getX(); final int y = (int) point.getY(); boolean onSea = imageService.isOnSea(x, y); this.onSea.put(point, mapBooleanToByte(onSea)); return onSea; } }