// locate our party href/id reference
        private ImmutableList <string> findOurParty(FpmlPartySelector ourPartySelector)
        {
            // check for "any" selector to avoid logging message in normal case
            if (ourPartySelector == FpmlPartySelector.any())
            {
                return(ImmutableList.of());
            }
            IList <string> selected = ourPartySelector.selectParties(parties);

            if (selected.Count > 0)
            {
                foreach (string id in selected)
                {
                    if (!parties.Keys.Contains(id))
                    {
                        throw new FpmlParseException(Messages.format("Selector returned an ID '{}' that is not present in the document: {}", id, parties));
                    }
                }
                return(ImmutableList.copyOf(selected));
            }
            log.warn("Failed to resolve \"our\" counterparty from FpML document, using leg defaults instead: " + parties);
            return(ImmutableList.of());
        }