### Question:
MutableBoolean implements IMutableObject <MutableBoolean> { public MutableBoolean (final boolean bValue) { m_bValue = bValue; } MutableBoolean(final boolean bValue);  MutableBoolean(@Nonnull final Boolean aValue);  MutableBoolean(@Nonnull final MutableBoolean aValue); boolean booleanValue(); @Nonnull Boolean getAsBoolean(); @Nonnull EChange set(@Nonnull final Boolean aValue); @Nonnull EChange set(@Nonnull final MutableBoolean aValue); @Nonnull EChange set(final boolean bValue); @Nullable T getIf(@Nonnull final Supplier <? extends T> aSupplier); @Nullable T getIf(@Nonnull final Supplier <? extends T> aSupplier, @Nullable final T aDefault); int compareTo(@Nonnull final MutableBoolean rhs); @Nonnull MutableBoolean getClone(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testMutableBoolean () { final MutableBoolean x = new MutableBoolean (false); assertFalse (x.booleanValue ()); assertSame (Boolean.FALSE, x.getAsBoolean ()); assertTrue (x.set (true).isChanged ()); assertTrue (x.booleanValue ()); assertSame (Boolean.TRUE, x.getAsBoolean ()); assertFalse (x.set (true).isChanged ()); assertTrue (x.booleanValue ()); assertSame (Boolean.TRUE, x.getAsBoolean ()); CommonsTestHelper.testDefaultImplementationWithEqualContentObject (new MutableBoolean (true), new MutableBoolean (true)); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new MutableBoolean (true), new MutableBoolean (false)); CommonsTestHelper.testGetClone (new MutableBoolean (true)); }