public static void listResources(ResourceType?listType)
        {
            try
            {
                if (!FSOps.hasNecessaryDirs())
                {
                    CLIInterface.logError($"Missing some or all resource directories in current directory. Try running {ConstStrings.APPLICATION_ALIAS} init?");
                    return;
                }

                CLIInterface.PrintTable table = new CLIInterface.PrintTable {
                    { ConstStrings.HeaderStringType, 6 },
                    { ConstStrings.HeaderStringNameOfResource, 21 },
                    { ConstStrings.HeaderStringVersion, 16 },
                    { ConstStrings.HeaderStringFileSize, 11 },
                };

                List <ResourceType> resourcesToList = listType.HasValue ?
                                                      new List <ResourceType> {
                    listType.Value
                } :
                new List <ResourceType> {
                    ResourceType.Code, ResourceType.Data, ResourceType.Model
                };

                foreach (ResourceType resourceType in resourcesToList)
                {
                    foreach (string resourceName in FSOps.resourceNames(resourceType))
                    {
                        string version;
                        if (FSOps.resourceVersionFileExists(resourceType, resourceName))
                        {
                            version = FSOps.getResourceVersion(resourceType, resourceName);
                        }
                        else
                        {
                            version = "Unknown version";
                        }

                        long fileSize = FSOps.getResourceSize(resourceType, resourceName);

                        table.addRow(
                            doFormat(resourceType.ToString()),
                            doFormat(resourceName),
                            doFormat(version),
                            doFormat(bytesToString(fileSize))
                            );
                    }
                }

                CLIInterface.logTable(table);
            }
            catch (FSOps.FSOpsException ex)
            {
                CLIInterface.logError($"File System Error: " + ex.Message);
            }
        }