code: public void restoreFieldProperties(PropertiesField fldProperties)
      {
          if (fldProperties == null)
              return;
          try {
              // This may seem a little wierd, but by doing this, I won't change the field if there was no change.
              Map<String,Object> properties = fldProperties.getProperties();
              this.close();
              while (this.hasNext())
              {
                  this.next();
                  String strKey = this.getField(PropertiesInput.KEY).getString();
                  String strValue = this.getField(PropertiesInput.VALUE).getString();
                  if (strValue != null)
                      if (strValue.length() > 0)
                  {
                      fldProperties.setProperty(strKey, strValue);
                      properties.remove(strKey);
                  }
              }
              Iterator<String> iterator = properties.keySet().iterator();
              while (iterator.hasNext())
              {
                  String strKey = iterator.next();
                  fldProperties.setProperty(strKey, null);
              }
          } catch (DBException ex) {
              ex.printStackTrace();
          }
      }
docs: RestoreFieldProperties Method.