### Question:
Property extends ReadOnlyProperty<T> { public List<GameEventListener<PropertyChanged>> getChangeListener() { return ArrayUtils.asList(changeListener); } Property(Class<T> aType, Object aOwner, String aName, T aDefaultValue, GameEventListener<PropertyChanged> aListener);  Property(Class<T> aType, Object aOwner, String aName, GameEventListener<PropertyChanged> aListener);  Property(Class<T> aType, Object aOwner, String aName, T aDefaultValue); void set(T aValue); void setQuietly(T aValue); long getLastChanged(); List<GameEventListener<PropertyChanged>> getChangeListener(); void addChangeListener(GameEventListener<PropertyChanged> aListener); void removeChangeListener(GameEventListener<PropertyChanged> aListener);  }### Answer:
@Test public void testGetChangeListener() throws Exception { GameEventListener theListener = mock(GameEventListener.class); Property<String> theProperty = new Property<String>(String.class, this, "property", "value"); assertTrue(theProperty.getChangeListener().isEmpty()); theProperty = new Property<String>(String.class, this, "property", "value", theListener); assertTrue(theProperty.getChangeListener().size() == 1); assertTrue(theProperty.getChangeListener().contains(theListener)); }