public Visibility forBuilder(BuilderVisibility visibility) {
    switch (visibility) {
    case PACKAGE:
      return PACKAGE;
    case PUBLIC:
      return PUBLIC;
    case SAME:
    default:
      return this.max(PACKAGE);
    }
  }
Type visibility interpretation. Treat protected as package.
value-processor/src/org/immutables/value/processor/meta/Visibility.java