### Question:
PropertiesImpl implements Properties { @Override public List<TypedProperties> asTypedProperties() { return properties; }  static Properties flat(List<Properties> properties); @Override Properties resolveBy(Resolver resolver); @Override Properties withoutVars(); @Override Properties without(Predicate<Property> excluded); @Override Properties withPrefix(String prefix); @Override Map<String, Property> getPropertiesAsMap(); @Override Map<String, String> getPropertiesAsKeyValue(); @Override Collection<Property> getProperties(); @Override Optional<Property> getPropertyWithKey(String key); @Override List<T> save(PropertySerializer<T> serializer); @Override List<TypedProperties> asTypedProperties(); @Override TypedProperties first(); @Override Properties forEachComponent(UnaryOperator<TypedProperties> callback);  }### Answer:
@Test void asTypedProperties() { assertEquals(asList(tp1, tp2), subj.asTypedProperties()); assertEquals(tp1, subj.first()); }