private void selectBreach() {
		squareSelector.reset();
		squareSelector.setCriteria(new SquareCriteria() {
			private final String desc = "Select: Breach";

			public String getDescription() { return desc; }

			public boolean isSquareValid( SquareSelector squareSelector, int roomId, int squareId ) {
				if ( roomId < 0 || squareId < 0 ) return false;
				for (BreachSprite breachSprite : breachSprites) {
					if ( breachSprite.getRoomId() == roomId && breachSprite.getSquareId() == squareId ) {
						return true;
					}
				}
				return false;
			}
		});
		squareSelector.setCallback(new SquareSelectionCallback() {
			public boolean squareSelected( SquareSelector squareSelector, int roomId, int squareId ) {
				for (BreachSprite breachSprite : breachSprites) {
					if ( breachSprite.getRoomId() == roomId && breachSprite.getSquareId() == squareId ) {
						showBreachEditor( breachSprite );
						break;
					}
				}
				return true;
			}
		});
		squareSelector.setVisible(true);
	}