@Override
  public List<FieldDeclaration> getFields(EmitContext context, ModelDeclaration model)
      throws IOException {
    if (isTarget(model) == false) {
      return Collections.emptyList();
    }
    CacheSupportTrait trait = model.getTrait(CacheSupportTrait.class);
    assert trait != null;

    List<FieldDeclaration> results = Lists.create();
    if (trait.getDeleteFlagValue() != null) {
      results.add(createDeleteFlagValueField(context, model, trait.getDeleteFlagValue()));
    }
    return results;
  }