final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, long.class });
final Method default0Method = findMethod(Customer.class, "default0SomeAction", new Class[] {});
final Method default1Method = findMethod(Customer.class, "default1SomeAction", new Class[] {});
final FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(Customer.class, actionMethod);
facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetHolderWithParms));
final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterDefaultsFacet.class);
assertNotNull(facet0);
assertTrue(facet0 instanceof ActionParameterDefaultsFacetViaMethod);
final ActionParameterDefaultsFacetViaMethod actionDefaultFacetViaMethod0 = (ActionParameterDefaultsFacetViaMethod) facet0;
assertEquals(default0Method, actionDefaultFacetViaMethod0.getMethods().get(0));
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(default0Method));
final Facet facet1 = facetHolderWithParms.getParameters().get(1).getFacet(ActionParameterDefaultsFacet.class);
assertNotNull(facet1);
assertTrue(facet1 instanceof ActionParameterDefaultsFacetViaMethod);
final ActionParameterDefaultsFacetViaMethod actionDefaultFacetViaMethod1 = (ActionParameterDefaultsFacetViaMethod) facet1;
assertEquals(default1Method, actionDefaultFacetViaMethod1.getMethods().get(0));