code: private boolean isDifferent(String key, Object value) {
          // Get the value from the properties Map for the specified key
          Object currentVal = properties.get(key);
          if (currentVal == null) {
              // If the currentVal is null, then test value against null
              return value != null;
          }
          else {
              // For non-null, need to use object.equals method
              return !currentVal.equals(value);
          }
      }
docs: Compare the specified value with that in the properties Map
  This utility method is used from the set* methods to determine
  if the value is being changed and hence the cache needs to be
  cleared.
  
  @param key The name of the property in the Map
  @param value The value to be tested for equality
  @return true if the values are different