public String generateDeleteCommand(T item) throws NotImplementedTypesException {
   StringBuilder builder =
       new StringBuilder().append("delete from ").append(tableName).append(" where ");
   return "delete from "
       + tableName
       + " where "
       + primaryKeyFieldConverter.getName()
       + " = "
       + primaryKeyFieldConverter.stringValueOf(item);
 }
 public String generateUpdateCommand(T item) throws NotImplementedTypesException {
   StringBuilder builder = new StringBuilder().append("update ").append(tableName).append(" set ");
   for (int i = 0; i + 1 < fields.size(); i++) {
     builder
         .append(fields.get(i).getName())
         .append(" = ")
         .append(fields.get(i).stringValueOf(item))
         .append(", ");
   }
   builder
       .append(fields.get(fields.size() - 1).getName())
       .append(" = ")
       .append(fields.get(fields.size() - 1).stringValueOf(item));
   builder.append(" where ");
   builder
       .append(primaryKeyFieldConverter.getName())
       .append(" = ")
       .append(primaryKeyFieldConverter.stringValueOf(item));
   return builder.toString();
 }