private bool ExpandIndex(JObject result, JProperty _property, string activeProperty, string expandedProperty, Context activeContext, IList<string> remoteContexts, out JToken expandedValue)
        {
            bool @continue = false;
            if (!_property.ValueIs<string>())
            {
                throw new InvalidOperationException("Invalid @index value.");
            }

            expandedValue = _property.ValueAs<string>();
            return @continue;
        }
        private bool ExpandType(JObject result, JProperty _property, string activeProperty, string expandedProperty, Context activeContext, IList<string> remoteContexts, out JToken expandedValue)
        {
            bool @continue = false;
            expandedValue = null;
            string key = _property.Name;
            JToken value = _property.Value;
            if ((!_property.ValueIs<string>()) && ((!(value is JArray)) || (((JArray)value).Count(item => item.Type == JTokenType.String) != ((JArray)value).Count)))
            {
                throw new InvalidOperationException("Invalid type value.");
            }

            if (_property.ValueIs<string>())
            {
                expandedValue = ExpandIri(_property.ValueAs<string>(), activeContext, (JObject)null, true, true);
            }
            else
            {
                expandedValue = new JArray();
                foreach (JValue type in (JArray)_property.Value)
                {
                    ((JArray)expandedValue).Add(new JValue(ExpandIri((string)type.Value, activeContext, (JObject)null, true, true)));
                }
            }

            return @continue;
        }