@Value.Lazy
    public Optional<String[]> depluralize() {
      @Nullable String[] dictionary = null;
      for (MetaAnnotated metaAnnotated : metaAnnotated()) {
        Optional<String[]> depluralize = metaAnnotated.depluralize();
        if (depluralize.isPresent()) {
          dictionary = concat(dictionary, depluralize.get());
        }
      }

      Optional<DepluralizeMirror> depluralize = DepluralizeMirror.find(element());
      if (depluralize.isPresent()) {
        dictionary = concat(dictionary, depluralize.get().dictionary());
      }

      return Optional.fromNullable(dictionary);
    }
used to intern packaged created internally
value-processor/src/org/immutables/value/processor/meta/Proto.java