public String creator() {

      final String first = def.creator;
      final String second = def instanceof ContainerDef ? ((ContainerDef) def).element.creator : first;

      final String withPath = String.format("context.appendPath(%s.class, \"%s\", %s)", attribute.containingType.typeDocument().toString(),
              attribute.originalElement().getSimpleName().toString(), second);

      return String.format("%s.create(%s)", first, withPath);
    }
Composite matcher for containers like Iterable / Map / Optional / @Nullable
value-processor/src/org/immutables/value/processor/meta/CriteriaModel.java