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);
}