func deserializeJSONLDTypePropertyIterator(i interface{}, aliasMap map[string]string) (*JSONLDTypePropertyIterator, error) {
	alias := ""
	if v, err := anyuri.DeserializeAnyURI(i); err == nil {
		this := &JSONLDTypePropertyIterator{
			alias:                 alias,
			xmlschemaAnyURIMember: v,
		}
		return this, nil
	} else if v, err := string1.DeserializeString(i); err == nil {
		this := &JSONLDTypePropertyIterator{
			alias:                 alias,
			hasStringMember:       true,
			xmlschemaStringMember: v,
		}
		return this, nil
	}
	this := &JSONLDTypePropertyIterator{
		alias:   alias,
		unknown: i,
	}
	return this, nil
}
deserializeJSONLDTypePropertyIterator creates an iterator from an element that
has been unmarshalled from a text or binary format.
package propertytype
import (
	"fmt"
	anyuri "github.com/go-fed/activity/streams/values/anyURI"
	string1 "github.com/go-fed/activity/streams/values/string"
	vocab "github.com/go-fed/activity/streams/vocab"
	"net/url"
)
type JSONLDTypePropertyIterator struct {
	xmlschemaAnyURIMember *url.URL
	xmlschemaStringMember string
	hasStringMember       bool
	unknown               interface{}
	alias                 string
	myIdx                 int
	parent                vocab.JSONLDTypeProperty
}
func NewJSONLDTypePropertyIterator() *JSONLDTypePropertyIterator {
	return &JSONLDTypePropertyIterator{alias: ""}
}