### Question:
ObjectVertex implements Vertex { @Override public <V> Iterator<VertexProperty<V>> properties(String... propertyKeys) { return allProperties.stream() .filter(property -> SetUtils.set(propertyKeys).isEmpty() || SetUtils.in(property.key(), propertyKeys)) .map(property -> (VertexProperty<V>) property) .iterator(); } ObjectVertex(ActGraph graph, UUID objectID); @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(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); ObjectEntity getObject();  }### Answer:
@Test public void testPropertiesWithAllProperties() { Vertex vertex = createVertex(); assertTrue(vertex.properties().hasNext()); }
@Test public void testPropertiesWithoutMatchingProperty() { Vertex vertex = createVertex(); assertFalse(vertex.properties("something").hasNext()); }
@Test public void testPropertiesWithMatchingProperty() { Vertex vertex = createVertex(); assertTrue(vertex.properties("value").hasNext()); }