public static InputSplit createTableSnapshotRegionSplit() {
    try {
      assertSupportsTableSnapshots();
    } catch (RuntimeException e) {
      LOG.debug("Probably don't support table snapshots. Returning null instance.", e);
      return null;
    }

    try {
      Class<? extends InputSplit> resultType =
        (Class<? extends InputSplit>) Class.forName(TABLESNAPSHOTREGIONSPLIT_CLASS);
      Constructor<? extends InputSplit> cxtor = resultType.getDeclaredConstructor(new Class[]{});
      cxtor.setAccessible(true);
      return cxtor.newInstance(new Object[]{});
    } catch (ClassNotFoundException e) {
      throw new UnsupportedOperationException(
        "Unable to find " + TABLESNAPSHOTREGIONSPLIT_CLASS, e);
    } catch (IllegalAccessException e) {
      throw new UnsupportedOperationException(
        "Unable to access specified class " + TABLESNAPSHOTREGIONSPLIT_CLASS, e);
    } catch (InstantiationException e) {
      throw new UnsupportedOperationException(
        "Unable to instantiate specified class " + TABLESNAPSHOTREGIONSPLIT_CLASS, e);
    } catch (InvocationTargetException e) {
      throw new UnsupportedOperationException(
        "Constructor threw an exception for " + TABLESNAPSHOTREGIONSPLIT_CLASS, e);
    } catch (NoSuchMethodException e) {
      throw new UnsupportedOperationException(
        "Unable to find suitable constructor for class " + TABLESNAPSHOTREGIONSPLIT_CLASS, e);
    }
  }
Create a bare TableSnapshotRegionSplit. Needed because Writables require a
default-constructed instance to hydrate from the DataInput.

TODO: remove once HBASE-11555 is fixed.
hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseTableSnapshotInputFormatUtil.java