private boolean hasAccessibleConstructor(Element type) {
			List<ExecutableElement> constructors = ElementFilter.constructorsIn(type.getEnclosedElements());

			if (constructors.isEmpty()) {
				// It is unclear (not checked) if we will have syntethic no-arg constructor
				// included, so we will assume no constructor to equate having a single constructors.
				return true;
			}

			for (ExecutableElement c : constructors) {
				if (c.getParameters().isEmpty()) {
					return !Visibility.of(c).isPrivate();
				}
			}

			return false;
		}
Used to determine if the inner class we're looking for is revelant
given the annotations on the prototype class.  For example, there's
no point in doing anything with an Modifiable inner class if it's
not setup with the Value.Modifiable annotation.
value-processor/src/org/immutables/value/processor/meta/Constitution.java