package com.google.idea.sdkcompat.cidr;

import com.jetbrains.cidr.execution.testing.google.CidrGoogleTestUtil;

/** Adapter to bridge different SDK versions. */
public class CidrGoogleTestUtilAdapter extends CidrGoogleTestUtil {}
