@SuppressWarnings("rawtypes")
	public PreparedStatement getPreparedStatement() {
		PreparedStatement preparedStatement = null;
		try {
			preparedStatement = dbConnection.prepareStatement(this.preparedStatement);
			int index = 0;
			for (HashMap<Class, Object> data : dataList) {
				Set<Class> keySet = data.keySet();
				if (!data.isEmpty()) {
					for (Class<?> dataType : keySet) {
						if (dataType.isAssignableFrom(Integer.class)) {
							preparedStatement.setInt(index + 1, (Integer) data.get(dataType));
							log.info("Added Integer " + data.get(dataType) + " to prepared statement");
						} else if (dataType.isAssignableFrom(Float.class)) {
							preparedStatement.setFloat(index + 1, (Float) data.get(dataType));
							log.info("Added Float " + data.get(dataType) + " to prepared statement");
						} else if (dataType.isAssignableFrom(String.class)) {
							preparedStatement.setString(index + 1, (String) data.get(dataType));
							log.info("Added String " + data.get(dataType) + " to prepared statement");
						} else if (dataType.isAssignableFrom(Timestamp.class)) {
							preparedStatement.setTimestamp(index + 1, (Timestamp) data.get(dataType));
							log.info("Added Time " + data.get(dataType) + " to prepared statement");
						} else {
							// TODO throw exception.
						}
					}
				}
				index++;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return preparedStatement;
	}