/** * Determines the most concrete {@link MemberHoldingTypeDetails} in cases * where multiple matches are found for a given tag. * * @param memberDetails the {@link MemberDetails} to search (can be * <code>null</code>) * @param tag the {@link CustomData} key to search for (required) * @return the most concrete tagged type or null if not found */ public static MemberHoldingTypeDetails getMostConcreteMemberHoldingTypeDetailsWithTag( final MemberDetails memberDetails, final Object tag) { Validate.notNull(tag, "Custom data tag required"); final List<MemberHoldingTypeDetails> memberHoldingTypeDetailsList = getMemberHoldingTypeDetailsWithTag(memberDetails, tag); if (memberHoldingTypeDetailsList.isEmpty()) { return null; } return memberHoldingTypeDetailsList.get(memberHoldingTypeDetailsList.size() - 1); }
/** * Determines the most concrete {@link MemberHoldingTypeDetails} in cases * where multiple matches are found for a given tag. * * @param memberDetails the {@link MemberDetails} to search (can be * <code>null</code>) * @param tag the {@link CustomData} key to search for (required) * @return the most concrete tagged type or null if not found */ public static MemberHoldingTypeDetails getMostConcreteMemberHoldingTypeDetailsWithTag( final MemberDetails memberDetails, final Object tag) { Validate.notNull(tag, "Custom data tag required"); final List<MemberHoldingTypeDetails> memberHoldingTypeDetailsList = getMemberHoldingTypeDetailsWithTag(memberDetails, tag); if (memberHoldingTypeDetailsList.isEmpty()) { return null; } return memberHoldingTypeDetailsList.get(memberHoldingTypeDetailsList.size() - 1); }