public void ConvertLogic()
        {
            tokenContract = new SolidityContract(token.ToStructureName());
            tokenContract.AddInheritance(ConverterConfig.OWNABLE_NAME);
            //constructor
            tokenContract.AddComponent(CreateConstructor());
            //mint
            tokenContract.AddComponent(CreateMintFunction());
            //transfer
            tokenContract.AddComponent(CreateTransferFunction());
            dataModelConverter.AddDependency(ConverterConfig.OWNABLE_IMPORT);
            if (token.IsFungible)
            {
                tokenContract.AddInheritance(ConverterConfig.FUNGIBLE_TOKEN_NAME);
                dataModelConverter.AddDependency(ConverterConfig.FUNGIBLE_TOKEN_IMPORT);
            }
            else
            {
                tokenContract.AddInheritance(ConverterConfig.NON_FUNGIBLE_TOKEN_NAME);
                dataModelConverter.AddDependency(ConverterConfig.NON_FUNGIBLE_TOKEN_IMPORT);
            }

            foreach (var property in token.Properties)
            {
                tokenContract.AddComponent(dataModelConverter.ConvertProperty(property));
            }
        }