code: public PropertiesAdapter filter(Filter<String> filter) {
      Properties properties = new Properties();
  
      for (String propertyName : this) {
        if (filter.accept(propertyName)) {
          properties.setProperty(propertyName, get(propertyName));
        }
      }
  
      return from(properties);
    }
docs: Filters the properties from this adapter by name.
  
  @param filter the {@link Filter} used to filter the properties of this adapter.
  @return a newly constructed instance of the {@link PropertiesAdapter} containing only the filtered properties.
  @see org.cp.elements.lang.Filter
  @see java.util.Properties
  @see #from(Properties)