You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: toml.go
    path of file: ./repos/ko/vendor/github.com/pelletier/go-toml
    
    the code of the file until where you have to start completion: package toml

import (
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"runtime"
	"strings"
)

type tomlValue struct {
	value     interface{} // string, int64, uint64, float64, bool, time.Time, [] of any of this list
	comment   string
	commented bool
	multiline bool
	literal   bool
	position  Position
}

// Tree is the result of the parsing of a TOML file.
type Tree struct {
	values    map[string]interface{} // string -> *tomlValue, *Tree, []*Tree
	comment   string
	commented bool
	inline    bool
	position  Position
}

func newTree() *Tree {
	return newTreeWithPosition(Position{})
}

fu
    
func (t *Tree) createSubTree(keys []string, pos Position) error {
	subtree := t
	for i, intermediateKey := range keys {
		nextTree, exists := subtree.values[intermediateKey]
		if !exists {
			tree := newTreeWithPosition(Position{Line: t.position.Line + i, Col: t.position.Col})
			tree.position = pos
			tree.inline = subtree.inline
			subtree.values[intermediateKey] = tree
			nextTree = tree
		}

		switch node := nextTree.(type) {
		case []*Tree:
			subtree = node[len(node)-1]
		case *Tree:
			subtree = node
		default:
			return fmt.Errorf("unknown type for path %s (%s): %T (%#v)",
				strings.Join(keys, "."), intermediateKey, nextTree, nextTree)
		}
	}
	return nil
}