package graphql.schema;


public interface Coercing {


    /**
     * Called to convert a result of a DataFetcher to a valid runtime value.
     *
     *
     * @param input
     * @return  null if not possible/invalid
     */
    Object serialize(Object input);

    /**
     * Called to resolve a input from a variable.
     * Null if not possible.
     *
     * @param input
     * @return  null if not possible/invalid
     */
    Object parseValue(Object input);

    /**
     * @param input
     * @return  null if not possible/invalid
     */
    Object parseLiteral(Object input);
}

@@ -141,23 +141,16 @@
 %0A     *%0A
-     *%0A
      * @
@@ -152,32 +152,46 @@
   * @param input
+ is never null
 %0A     * @return 
@@ -182,33 +182,32 @@
 %0A     * @return 
- 
 null if not poss
@@ -369,32 +369,46 @@
   * @param input
+ is never null
 %0A     * @return 
@@ -399,33 +399,32 @@
 %0A     * @return 
- 
 null if not poss
@@ -497,28 +497,78 @@
 %0A     * 
-@param input
+Called to convert a AST node%0A     * @param input is never null
 %0A     * 
@@ -575,17 +575,16 @@
 @return 
- 
 null if 

make clear that the arguments are never null