code: public static ICC_ColorSpace createColorSpace(final ICC_Profile profile) {
          Validate.notNull(profile, "profile");
  
          // Fix profile before lookup/create
          profileCleaner.fixProfile(profile);
  
          byte[] profileHeader = getProfileHeaderWithProfileId(profile);
  
          ICC_ColorSpace cs = getInternalCS(profile.getColorSpaceType(), profileHeader);
          if (cs != null) {
              return cs;
          }
  
          return getCachedOrCreateCS(profile, profileHeader);
      }
docs: Creates an ICC color space from the given ICC color profile.
  <p />
  For standard Java color spaces, the built-in instance is returned.
  Otherwise, color spaces are looked up from cache and created on demand.
  
  @param profile the ICC color profile. May not be {@code null}.
  @return an ICC color space
  @throws IllegalArgumentException if {@code profile} is {@code null}.
  @throws java.awt.color.CMMException if {@code profile} is invalid.