public static DataSchema buildSchemaByProjection(DataSchema schema, DataMap maskMap)
  {
    return buildSchemaByProjection(schema, maskMap, Collections.emptyList());
  }
@Test
  public void testBuildSchemaByEmptyProjection()
  {
    DataSchema schema = DataTemplateUtil.getSchema(RecordTemplateWithPrimitiveKey.class);
    DataMap projectionMask = buildProjectionMaskDataMap();

    try
    {
      buildSchemaByProjection(schema, projectionMask);
    }
    catch (IllegalArgumentException e)
    {
      Assert.assertEquals(e.getMessage(), "Invalid projection masks.");
      return;
    }

    Assert.fail("Building schema by empty projection should throw an IllegalArgumentException");
  }