### Question:
ObjectVertex implements Vertex { @Override public <V> Iterator<VertexProperty<V>> properties(String... propertyKeys) { return allProperties.stream() .filter(property -> set(propertyKeys).isEmpty() || SetUtils.in(property.key(), propertyKeys)) .map(property -> (VertexProperty<V>) property) .iterator(); } private  ObjectVertex(ActGraph graph,
                       ObjectRecord object,
                       ObjectFactTypeResolver.ObjectTypeStruct type,
                       List<PropertyEntry<?>> properties); @Override Edge addEdge(String label, Vertex inVertex, Object... keyValues); @Override Iterator<Edge> edges(Direction direction, String... edgeLabels); @Override Iterator<Vertex> vertices(Direction direction, String... edgeLabels); @Override Iterator<VertexProperty<V>> properties(String... propertyKeys); @Override VertexProperty<V> property(VertexProperty.Cardinality cardinality, String key, V value, Object... keyValues); @Override Object id(); @Override String label(); @Override Graph graph(); @Override void remove(); ObjectRecord getObjectRecord(); static Builder builder(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testPropertiesWithDefaultProperties() { Vertex vertex = createVertex(); List<VertexProperty<Object>> props = list(vertex.properties()); assertEquals(0, props.size()); }
@Test public void testPropertiesWithoutMatchingProperty() { Vertex vertex = createVertex(); assertFalse(vertex.properties("something").hasNext()); }