}
/**
- * Utility method for checking whether a target object is a compatible DataObject.
+ * Utility method for checking whether a target object is a compatible {@link BindingContract}.
*
- * @param requiredClass Required DataObject class
+ * @param requiredClass Required BindingContract class
* @param obj Object to check, may be null
* @return Object cast to required class, if its implemented class matches requirement, null otherwise
* @throws NullPointerException if {@code requiredClass} is null
*/
- public static <T extends DataObject> @Nullable T checkCast(final @NonNull Class<T> requiredClass,
+ public static <T extends BindingContract<?>> @Nullable T checkCast(final @NonNull Class<T> requiredClass,
final @Nullable Object obj) {
- return obj instanceof DataObject && requiredClass.equals(((DataObject) obj).implementedInterface())
+ return obj instanceof BindingContract<?> contract && requiredClass.equals(contract.implementedInterface())
? requiredClass.cast(obj) : null;
}