virtual public IMetaData GetPortDataByID(IDataID idToSearch) { if (idToSearch.Equals(MetaData.Empty.DataID)) { return(MetaData_ValueObject.Empty); } if (this.DataID.Equals(idToSearch)) { return(this); } if (this.Children == null) { return(MetaData_ValueObject.Empty); } foreach (IMetaData_ValueObject value in this.Children) { if (!value.GetPortDataByID(idToSearch).Equals(MetaData_ValueObject.Empty)) { return(value); } } return(MetaData_ValueObject.Empty); }