code: protected List<LightweightTypeReference> getNonInterfaceTypes(List<LightweightTypeReference> components) {
  		List<LightweightTypeReference> nonInterfaceTypes = null;
  		for(LightweightTypeReference component: components) {
  			if (!component.isInterfaceType()) {
  				if (nonInterfaceTypes == null) {
  					nonInterfaceTypes = Collections.singletonList(component);
  				} else if (nonInterfaceTypes.size() == 1) {
  					nonInterfaceTypes = Lists.newArrayList(nonInterfaceTypes);
  					nonInterfaceTypes.add(component);
  				} else {
  					nonInterfaceTypes.add(component);
  				}
  			}
  		}
  		return nonInterfaceTypes;
  	}
docs: /* @Nullable