PropertiesWrapper implements Properties { @Override public void removeProperty(@NotNull String name, @NotNull String value) throws IllegalAccessException, NoSuchFieldException, PropertyVetoException, IllegalArgumentException { FieldInstance field = getFieldInstanceForModify(name); try { field.getPropertyHandler().remove(field, value); } catch (UnsupportedOperationException e) { throw new PropertyVetoException(CANNOT_MODIFY_NON_COLLECTION.bundle(name)); } } private  PropertiesWrapper(@NotNull Object object); protected  PropertiesWrapper(); static Properties wrapObject(@NotNull Object object); static String[] getAllPropertyNames(Class clazz); @NotNull @Override String[] getAllPropertyNames(); @Nullable @Override Object getProperty(@NotNull String name); @Override void setProperty(@NotNull String name, @NotNull String value); @Override void addProperty(@NotNull String name, @NotNull String value); @Override void removeProperty(@NotNull String name, @NotNull String value); @Override void clearProperty(@NotNull String name, @Nullable String value); @Nullable @Override Object getPropertyUnchecked(@NotNull String name); @Override boolean setPropertyUnchecked(@NotNull String name, @NotNull String value); @Override boolean addPropertyUnchecked(@NotNull String name, @NotNull String value); @Override boolean removePropertyUnchecked(@NotNull String name, @NotNull String value); @Override boolean clearPropertyUnchecked(@NotNull String name, @Nullable String value);  }
@Test public void testRemoveProperty() throws Exception { List<String> original = new ArrayList<String>(comprehensive.wordList); comprehensive.removeProperty("wordList", "test"); assertFalse(original.equals(comprehensive.wordList)); original.remove("test"); assertEquals(original, comprehensive.getProperty("wordList")); }