Try to return same BaseSchemaObject instance for calls to BaseSchemaObject.forScalar of the same scalar value.