/// <summary> /// Finds the child with the specified browse name. /// </summary> protected override BaseInstanceState FindChild( ISystemContext context, QualifiedName browseName, bool createOrReplace, BaseInstanceState replacement) { if (QualifiedName.IsNull(browseName)) { return null; } BaseInstanceState instance = null; switch (browseName.Name) { case Opc.Ua.Di.BrowseNames.TransferToDevice: { if (createOrReplace) { if (TransferToDevice == null) { if (replacement == null) { TransferToDevice = new TransferFromDeviceMethodState(this); } else { TransferToDevice = (TransferFromDeviceMethodState)replacement; } } } instance = TransferToDevice; break; } case Opc.Ua.Di.BrowseNames.TransferFromDevice: { if (createOrReplace) { if (TransferFromDevice == null) { if (replacement == null) { TransferFromDevice = new TransferFromDeviceMethodState(this); } else { TransferFromDevice = (TransferFromDeviceMethodState)replacement; } } } instance = TransferFromDevice; break; } case Opc.Ua.Di.BrowseNames.FetchTransferResultData: { if (createOrReplace) { if (FetchTransferResultData == null) { if (replacement == null) { FetchTransferResultData = new FetchTransferResultDataMethodState(this); } else { FetchTransferResultData = (FetchTransferResultDataMethodState)replacement; } } } instance = FetchTransferResultData; break; } } if (instance != null) { return instance; } return base.FindChild(context, browseName, createOrReplace, replacement); }