code: private PreparedStatement prepareStatement(PreparedStatementCveDb key) throws DatabaseException {
          PreparedStatement preparedStatement = null;
          try {
              final String statementString = statementBundle.getString(key.name());
              if (key == INSERT_VULNERABILITY || key == INSERT_CPE) {
                  preparedStatement = connection.prepareStatement(statementString, Statement.RETURN_GENERATED_KEYS);
              } else {
                  preparedStatement = connection.prepareStatement(statementString);
              }
          } catch (SQLException ex) {
              throw new DatabaseException(ex);
          } catch (MissingResourceException ex) {
              if (!ex.getMessage().contains("key MERGE_PROPERTY")) {
                  throw new DatabaseException(ex);
              }
          }
          return preparedStatement;
      }
docs: Creates a prepared statement from the given key. The SQL is stored in a
  properties file and the key is used to lookup the specific query.
  
  @param key the key to select the prepared statement from the properties
  file
  @return the prepared statement
  @throws DatabaseException throw if there is an error generating the
  prepared statement