private static IEnumerable <KeyValuePair <String, JsonProperty> > AdditionalProperties(JsonSchema4 schema, Dictionary <String, JsonSchema4> others)
        {
            IEnumerable <KeyValuePair <String, JsonProperty> > props = new KeyValuePair <String, JsonProperty> [0];

            foreach (var relationship in schema.GetRelationshipSettings())
            {
                if (relationship.IsLeftModel)
                {
                    switch (relationship.Kind)
                    {
                    case RelationKind.ManyToMany:
                        props = props.Concat(WriteManyManySide(schema, others[relationship.OtherModelName], relationship));
                        break;

                    case RelationKind.ManyToOne:
                        props = props.Concat(WriteManySide(schema, others[relationship.OtherModelName], relationship));
                        break;

                    case RelationKind.OneToOne:
                    case RelationKind.OneToMany:
                        props = props.Concat(WriteOneSide(schema, others[relationship.OtherModelName], relationship));
                        break;
                    }
                }
                else
                {
                    switch (relationship.Kind)
                    {
                    case RelationKind.ManyToMany:
                        props = props.Concat(WriteManyManySide(schema, others[relationship.OtherModelName], relationship));
                        break;

                    case RelationKind.OneToMany:
                        props = props.Concat(WriteManySide(schema, others[relationship.OtherModelName], relationship));
                        break;

                    case RelationKind.OneToOne:
                    case RelationKind.ManyToOne:
                        props = props.Concat(WriteOneSide(schema, others[relationship.OtherModelName], relationship));
                        break;
                    }
                }
            }
            return(props);
        }