code: func DecodeObject(s storer.EncodedObjectStorer, o plumbing.EncodedObject) (Object, error) {
  	switch o.Type() {
  	case plumbing.CommitObject:
  		return DecodeCommit(s, o)
  	case plumbing.TreeObject:
  		return DecodeTree(s, o)
  	case plumbing.BlobObject:
  		return DecodeBlob(o)
  	case plumbing.TagObject:
  		return DecodeTag(s, o)
  	default:
  		return nil, plumbing.ErrInvalidType
  	}
  }
docs: // DecodeObject decodes an encoded object into an Object and associates it to
  // the given object storer.