/** * Starts scan and visits each property method. * @param definition the model definition * @param context context objects (nullable) * @throws E if failed * @throws IllegalArgumentException if some parameters were {@code null} */ public void scan(DataModelDefinition<?> definition, C context) throws E { if (definition == null) { throw new IllegalArgumentException("definition must not be null"); //$NON-NLS-1$ } for (PropertyName name : definition.getProperties()) { scan(definition, name, context); } }