public override bool InsertReference(FileEntry fileEntry, bool optional = false) { if (base.InsertReference(fileEntry, optional)) { return(true); } CommandNode newCommand; RefsNode currentNode = this; CommandNode.CommandType commandType = fileEntry.PathSource == CommandNode.PromptSourceTag ? CommandNode.CommandType.Prompt : CommandNode.CommandType.From; Add(new CommandNode(CommandNode.CommandType.EmptyLine, null)); if (optional) { newCommand = new CommandNode(CommandNode.CommandType.OptionalBlock, null); Add(newCommand); currentNode = newCommand; } newCommand = new CommandNode(commandType, fileEntry.PathSource); currentNode.Add(newCommand); return(newCommand.InsertReference(fileEntry, optional)); }