+
+ /**
+ * Removes the method from the set of methods.
+ * @param aMethod Method to remove.
+ * @return
+ */
+ public SetterConfiguration remove(Method aMethod) {
+ if ( !aMethod.getDeclaringClass().isAssignableFrom(_class) ) {
+ throw new RuntimeException("Method " + aMethod + " not found in class " + _class + " or its superclasses");
+ }
+ for (Method method : _setters.keySet()) {
+ if (method.equals(aMethod)) {
+ _setters.remove(method);
+ return this;
+ }
+ }
+ throw new IllegalArgumentException(
+ "Method '" + aMethod + "' was not configured. ");
+ }
+
+