public IEnumerable <IUmlObject> ParseContent(IEnumerable <UmlBlock> blocks) { foreach (UmlBlock subblock in blocks) { if (UmlClass.Matches(subblock)) { yield return(new UmlClass(subblock)); } else if (UmlEnum.Matches(subblock)) { yield return(new UmlEnum(subblock)); } else if (UmlMethod.Matches(subblock)) { yield return(new UmlMethod(subblock, this)); } else if (UmlAttribute.Matches(subblock)) { yield return(new UmlAttribute(subblock, this)); } } }