### Question:
BaseProjectProperty implements IProjectProperty<T> { protected boolean returnOriginalValue() { return isOverridden() || null != 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 testReturnOriginalValue() { assertFalse(property.returnOriginalValue()); property.setOverridden(true); assertTrue(property.returnOriginalValue()); property.setOriginalValue(new Object(), false); assertTrue(property.returnOriginalValue()); }