code: @Override
    public final String reconfigureProperty(String property, String newVal)
      throws ReconfigurationException {
      if (isPropertyReconfigurable(property)) {
        String oldVal;
        synchronized(getConf()) {
          oldVal = getConf().get(property);
          reconfigurePropertyImpl(property, newVal);
          if (newVal != null) {
            getConf().set(property, newVal);
          } else {
            getConf().unset(property);
          }
        }
        return oldVal;
      } else {
        throw new ReconfigurationException(property, newVal,
                                               getConf().get(property));
      }
    }
docs: Based on ReconfigurableBase.reconfigureProperty().