/*
 * Copyright 2020, TeamDev. All rights reserved.
 *
 * Redistribution and use in source and/or binary forms, with or without
 * modification, must retain the above copyright notice and the following
 * disclaimer.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package io.spine.query;

/**
 * A subject parameter, which defines the condition for something different than a declared field
 * of a record or an {@link io.spine.base.EntityState EntityState}.
 *
 * <p>In some cases, stored records or entities include {@linkplain CustomColumn custom columns},
 * which hold the properties not directly belonging to the record declaration. In order to include
 * such a column into a {@link Subject} definition, a {@code CustomQueryParameter} is used.
 *
 * @param <S> the type of objects serving as an origin for the parameter values
 * @param <V> the type of parameter values
 * @see CustomColumn
 */
public final class CustomSubjectParameter<S, V> extends SubjectParameter<S, Column<S, V>, V> {

    /**
     * Creates a new instance.
     *
     * @param column
     *         column to use in the query
     * @param value
     *         the value against which the actual column values will be compared when querying
     * @param operator
     *         the comparison operator
     */
    CustomSubjectParameter(CustomColumn<S, V> column, V value, ComparisonOperator operator) {
        super(column, operator, value);
    }
}

@@ -1057,16 +1057,28 @@
 arameter
+ for a query
 , which 
@@ -1085,19 +1085,17 @@
 defines 
-the
+a
  conditi
@@ -1129,92 +1129,79 @@
 than
- a declared field%0A * of a record or
+%0A * a value of a field declared in
  a
-n
  %7B@
-link io.spine.base.EntityState EntityState%7D
+code Message%7D type of the record
 .%0A *
@@ -1506,16 +1506,27 @@
 aram %3CS%3E
+%0A *        
  the typ
@@ -1597,16 +1597,27 @@
 aram %3CV%3E
+%0A *        
  the typ
@@ -1659,16 +1659,32 @@
 mColumn%0A
+ * @see Subject%0A
  */%0Apubl

Improve the wording and the alignment.