public bool AllowReference(Reference reference, XYZ position) { if (LinkInstance == null) { return(false); } if (ClassFilters == null) { Document linkedDoc = LinkInstance.GetLinkDocument(); Element element = linkedDoc.GetElement(reference.LinkedElementId); return(TargetTypes.Contains(element.GetType())); } else { foreach (var ClassFilter in ClassFilters) { if (ClassFilter.AllowReference(reference, position)) { return(true); } } return(false); } }