docs: public static final SupportFragment shadow(Object fragment, IckleSupportManager.Builder supportManagerBuilder) {
  		
  		boolean hasIllegalArguments = false;
  		StringBuilder errorContext = new StringBuilder();
  		
  		if(fragment == null) {
  			
  			errorContext
  			.append("Either an instance of ")
  			.append(android.app.Fragment.class.getName())
  			.append(" or ")
  			.append(android.support.v4.app.Fragment.class.getName())
  			.append(" must be supplied. ");
  			
  			hasIllegalArguments = true;
  		}
  		
  		if(supportManagerBuilder == null) {
  			
  			errorContext
  			.append("An instance of ")
  			.append(IckleSupportManager.Builder.class.getName())
  			.append(" must be supplied. ");
  			
  			hasIllegalArguments = true;
  		}
  		
  		if(hasIllegalArguments)
  			throw new IckleBotRuntimeException(new IllegalArgumentException(errorContext.toString()));
  		
  		if(supportManagerBuilder != null && supportManagerBuilder.isBuilt()) {
  			
  			errorContext
  			.append("The provided ")
  			.append(IckleSupportManager.Builder.class.getName())
  			.append(" has already been built. These builders are non-reusable");
  			
  			throw new IckleBotRuntimeException(new IllegalStateException(errorContext.toString()));
  		}
  		
  		return new IckleSupportFragment(fragment, supportManagerBuilder);
  	}