public void add(Explorable e) throws ExplorationException {
		assert (e instanceof Conflict);
		Conflict c = (Conflict) e;
    	
    	/*
		 * Relative ID should always be complete, it's an ID after all.
		 * Therefore we throw an exception if it's too long.
		 */
    	String relativeId = c.getRelativeId();
    	if (relativeId.length() > JdbcExplorablesDatabase.RELATIVE_ID_LENGTH) {
    		throw new ExplorationException("Explorable relative ID exceeds database column size: " + relativeId);
    	}
    	
		/*
		 * Comment length should be controlled in the UI layer, not allowing the
		 * user to exceed the limit. Therefore here we can safely throw an
		 * exception if it's too long.
		 */
    	String comment = c.getComment();
    	if (comment != null && comment.length() > COMMENT_LENGTH) {
    		throw new ExplorationException("Conflict's comment length exceeds database column size: " + comment);
    	}
    	
        try {
            stmtInsertConflict.setInt(1, c.getId());						// id
            stmtInsertConflict.setInt(2, c.getParentId());					// parentId
            if (c.getReference() == null) {									// referenceId
            	stmtInsertConflict.setNull(3, Types.INTEGER);			
            } else {
            	stmtInsertConflict.setInt(3, c.getReference().getId());
            }
            if (c.getActual() == null) {									// actualId
            	stmtInsertConflict.setNull(4, Types.INTEGER);			
            } else {
            	stmtInsertConflict.setInt(4, c.getActual().getId());
            }
            stmtInsertConflict.setShort(5, (short) c.getType().ordinal());	// conflictType
            if (comment == null) {											// comment
            	stmtInsertConflict.setNull(6, Types.VARCHAR);			
            } else {
            	stmtInsertConflict.setString(6, comment);
            }
            
            stmtInsertConflict.executeUpdate();
        } catch (SQLException ex) {
            throw new ExplorationException("Unable to insert conflict to database: " + c, ex);
        }
    }