### Question:
GraphUtil { static public <T> Collection<T> getProperties(PropertyContainer container, String property, Class<T> type) { List<T> list = new ArrayList<>(); if (container.hasProperty(property)) { return getPropertiesAsSet(container.getProperty(property), type); } return list; }  static void addProperty(PropertyContainer container, String property, Object value); static Optional<T> getProperty(PropertyContainer container, String property,
      Class<T> type); static Collection<T> getProperties(PropertyContainer container, String property,
      Class<T> type); static Iterable<Relationship> getRelationships(final Node a, final Node b,
      RelationshipType type, final boolean directed); static Iterable<Relationship> getRelationships(final Node a, final Node b,
      RelationshipType type); static boolean ignoreProperty(Object value);  }### Answer:
@Test public void testGetEmptyProperties() { assertThat(GraphUtil.getProperties(node, "nothing", String.class), is(empty())); }
@Test public void testGetProperties() { GraphUtil.addProperty(node, "p", "a"); GraphUtil.addProperty(node, "p", "b"); assertThat(GraphUtil.getProperties(node, "p", String.class), containsInAnyOrder("a", "b")); }