public static Visibility of(Element element) {
    if (element.getModifiers().contains(Modifier.PUBLIC)) {
      return PUBLIC;
    }
    if (element.getModifiers().contains(Modifier.PRIVATE)) {
      return PRIVATE;
    }
    return PACKAGE;
  }
Type visibility interpretation. Treat protected as package.
value-processor/src/org/immutables/value/processor/meta/Visibility.java