public virtual RecordSet <RelationshipRecord> ExploreRelationshipRecordChainsToDepthTwo(RelationshipRecord record)
        {
            RecordSet <RelationshipRecord> records = new RecordSet <RelationshipRecord>();

            foreach (RelationshipNodeField nodeField in RelationshipNodeField.values())
            {
                long nodeId = nodeField.get(record);
                records.AddAll(ExpandChains(ExpandChainInBothDirections(record, nodeId), nodeId));
            }
            return(records);
        }
        public virtual RecordSet <RelationshipRecord> FindRelationshipChainsThatThisRecordShouldBelongTo(RelationshipRecord relationship)
        {
            RecordSet <RelationshipRecord> records = new RecordSet <RelationshipRecord>();

            foreach (RelationshipNodeField field in RelationshipNodeField.values())
            {
                long nodeId = field.get(relationship);
                _nodeStore.getRecord(nodeId, _nodeRecord, RecordLoad.FORCE);
                records.AddAll(_relationshipChainExplorer.followChainFromNode(nodeId, _nodeRecord.NextRel));
            }
            return(records);
        }