@Override
  public Object getGroupedProperties(GraphObject source) {

    if (source instanceof AbstractRelationship) {

      Map<String, Object> props = new LinkedHashMap<String, Object>();
      AbstractRelationship rel = (AbstractRelationship) source;
      AbstractNode startNode = rel.getStartNode();

      for (PropertyKey key : keys) {
        props.put(key.name(), startNode.getProperty(key));
      }

      return props;
    }

    return null;
  }
 public static TitanVertex getVertex(TitanTransaction tx, PropertyKey key, Object value) {
   return getVertex(tx, key.name(), value);
 }