### Question:
FactEdge implements Edge { @Override public <V> Property<V> property(String key, V value) { throw new UnsupportedOperationException("Adding properties not supported"); } private  FactEdge(ActGraph graph,
                   FactRecord fact,
                   FactTypeStruct type,
                   Vertex inVertex,
                   Vertex outVertex,
                   List<PropertyEntry<?>> properties); @Override Iterator<Vertex> vertices(Direction direction); @Override Object id(); @Override String label(); @Override Graph graph(); @Override Iterator<Property<V>> properties(String... propertyKeys); @Override Property<V> property(String key, V value); @Override void remove(); FactRecord getFactRecord(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); static Builder builder();  }### Answer:
@Test public void testReturnEmptyPropertyIfKeyNonExistent() { Edge edge = createEdge(); Property property = edge.property("something"); assertEquals(Property.empty(), property); }