public override void SetBlock(SuperBlock block)
            {
                IMyTerminalBlock tblock = block.TBlock;

                this.block = block;

                if (tblock.ResourceSink != null || tblock is IMyPowerProducer || tblock is IMyFunctionalBlock)
                {
                    resourceId = MyDefinitionId.FromContent(block.TBlock.SlimBlock.GetObjectBuilder());

                    sink            = tblock.ResourceSink;
                    powerProducer   = tblock as IMyPowerProducer;
                    functionalBlock = tblock as IMyFunctionalBlock;

                    if (sink != null || powerProducer != null)
                    {
                        SubtypeId |= TBlockSubtypes.Powered;
                    }

                    if (functionalBlock != null)
                    {
                        SubtypeId |= TBlockSubtypes.Functional;
                    }

                    block.SubtypeId |= SubtypeId;
                    block.subtypeAccessors.Add(this);
                }
            }