private void addVessel(Map<String, EnumElement> board, EnumLine line,
			EnumColumn column, boolean vertical, EnumElement vessel)
			throws InvalidPositionException {

		if (this.validatePosition(line, column, vertical, vessel)) {
			if (this.notOverrideVessel(board, line, column, vertical, vessel)) {
				final int initLinePosition = line.getPosition();
				final int initColumnPosition = column.getPosition();
				for (int i = 1; i < (vessel.getLength() + 1); i++) {
					if (vertical) {
						board.put(this.createPosition(line, column), vessel);
						line = EnumLine.getEnumLine(initLinePosition + i);
					} else {
						board.put(this.createPosition(line, column), vessel);
						column = EnumColumn.getEnumColumn(initColumnPosition
								+ i);
					}
				}
			} else {
				throw new InvalidPositionException();
			}
		} else {
			throw new InvalidPositionException();
		}
	}