/** * Check if the value provided by a Skylark provider is safe (i.e. can be a TransitiveInfoProvider * value). */ private void checkSkylarkObjectSafe(Object value) { if (!isSimpleSkylarkObjectSafe(value.getClass()) // Java transitive Info Providers are accessible from Skylark. && !(value instanceof TransitiveInfoProvider)) { checkCompositeSkylarkObjectSafe(value); } }