### Question:
BaseProjectProperty implements IProjectProperty<T> { protected void setOriginalValue(T originalValue, boolean overridden) { this.originalValue = originalValue; setOverridden(overridden); } 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 testSetOriginalValue() { Object originalValue = new Object(); property.setOriginalValue(originalValue, true); assertEquals(originalValue, property.getOriginalValue()); assertTrue(property.isOverridden()); originalValue = new Object(); property.setOriginalValue(originalValue, false); assertEquals(originalValue, property.getOriginalValue()); assertFalse(property.isOverridden()); }