### Question:
BaseProjectProperty implements IProjectProperty<T> { public T getOriginalValue() { return originalValue; } BaseProjectProperty(ICascadingJob job); void setKey(String propertyKey); String getKey(); void setJob(ICascadingJob job); void setOverridden(boolean overridden); @SuppressWarnings("unchecked") T getCascadingValue(); boolean isOverridden(); T getDefaultValue(); T getValue(); @SuppressWarnings("unchecked") void setValue(T value); void resetValue(); boolean allowOverrideValue(T cascadingValue, T candidateValue); T getOriginalValue(); final void onCascadingProjectChanged();  }### Answer:
@Test public void testGetOriginalValue() { assertNull(property.getOriginalValue()); Object value = new Object(); property.setKey(propertyKey); property.setValue(value); assertEquals(value, property.getOriginalValue()); property.setValue(null); assertNull(property.getOriginalValue()); }