+ * If the type already declares a boolean field, that field is used. Otherwise the field will be augmented.
+ *
+ * @param
+ * If the type already declares a boolean instance field, that field might be used. Otherwise the field will be augmented.
+ *
+ * This code assumes that for any combination of {@code type} and {@code name} this method is only called once.
+ * Otherwise, whether state is shared is undefined.
+ *
+ * @param type to augment
+ * @param name of the field
+ * @throws NullPointerException if {@code type} or {@code name} is {@code null}
+ */
+ public static
+ * If the type already declares an instance field with the given name and field type, that field might be used. Otherwise the field will be augmented.
+ *
+ * This code assumes that for any combination of {@code type} and {@code name} this method is only called once.
+ * Otherwise, whether state is shared is undefined.
+ *
+ * @param type to augment
+ * @param fieldType type of the field
+ * @param name of the field
+ * @throws NullPointerException if {@code type}, {@code fieldType} or {@code name} is {@code null}
+ */
+ public static
+ * If the type already declares an instance field with the given name and field type, that field might be used. Otherwise the field will be augmented.
+ *
+ * This code assumes that for any combination of {@code type} and {@code name} this method is only called once.
+ * Otherwise, whether state is shared is undefined.
+ *
+ * @param type to augment
+ * @param fieldType type of the field
+ * @param name of the field
+ * @throws NullPointerException if {@code type}, {@code fieldType} or {@code name} is {@code null}
+ */
+ public static