@Before
  public void setup() {
    facetedMethod = FacetedMethod.createForProperty(Customer.class, "firstName");

    objectAssociation =
        new ObjectAssociationAbstract(
            facetedMethod,
            FeatureType.PROPERTY,
            objectSpecification,
            new ObjectMemberContext(DeploymentCategory.PRODUCTION, null, null, null, null, null)) {

          @Override
          public ObjectAdapter get(final ObjectAdapter fromObject) {
            return null;
          }

          @Override
          public boolean isEmpty(final ObjectAdapter adapter) {
            return false;
          }

          @Override
          public ObjectAdapter[] getChoices(final ObjectAdapter object) {
            return null;
          }

          @Override
          public ObjectAdapter getDefault(final ObjectAdapter adapter) {
            return null;
          }

          @Override
          public void toDefault(final ObjectAdapter target) {}

          @Override
          public UsabilityContext<?> createUsableInteractionContext(
              final AuthenticationSession session,
              final InteractionInvocationMethod invocationMethod,
              final ObjectAdapter target,
              Where where) {
            return null;
          }

          @Override
          public VisibilityContext<?> createVisibleInteractionContext(
              final AuthenticationSession session,
              final InteractionInvocationMethod invocationMethod,
              final ObjectAdapter targetObjectAdapter,
              Where where) {
            return null;
          }

          @Override
          public String debugData() {
            return null;
          }

          @Override
          public Instance getInstance(final ObjectAdapter adapter) {
            return null;
          }

          @Override
          public boolean containsDoOpFacet(final Class<? extends Facet> facetType) {
            return false;
          }

          @Override
          public boolean hasAutoComplete() {
            return false;
          }

          @Override
          public ObjectAdapter[] getAutoComplete(ObjectAdapter object, String searchArg) {
            return null;
          }

          @Override
          public int getAutoCompleteMinLength() {
            return 0;
          }
        };
  }