docs: public List<TaxonomyTerm> setPostTerms(final long postId, final String taxonomy, final List<String> terms) throws SQLException {
        clearPostTerms(postId, taxonomy);
        if(terms == null || terms.size() == 0) {
           return ImmutableList.of();
        }
  
        List<TaxonomyTerm> taxonomyTerms = Lists.newArrayListWithExpectedSize(terms.size());
        for(String term : terms) {
           taxonomyTerms.add(resolveTaxonomyTerm(taxonomy, term, ""));
        }
  
        Connection conn = null;
        PreparedStatement stmt = null;
        Timer.Context ctx = metrics.postTermsSetTimer.time();
        try {
           conn = connectionSupplier.getConnection();
           stmt = conn.prepareStatement(insertPostTermSQL);
           int pos = 0;
           for(TaxonomyTerm taxonomyTerm : taxonomyTerms) {
              stmt.setLong(1, postId);
              stmt.setLong(2, taxonomyTerm.id);
              stmt.setInt(3, pos++);
              stmt.executeUpdate();
           }
        } finally {
           ctx.stop();
           SQLUtil.closeQuietly(conn, stmt);
        }
  
        return taxonomyTerms;
     }