### Question:
AnnotationUtils { public static int getNumClippedBasesAtStart(final SAMRecord read) { final Cigar c = read.getCigar(); final CigarElement first = c.getCigarElement(0); int numStartClippedBases = 0; if (first.getOperator() == CigarOperator.H) { numStartClippedBases = first.getLength(); } final byte[] unclippedReadBases = read.getReadBases(); final byte[] unclippedReadQuals = read.getBaseQualities(); for (int i = numStartClippedBases; i < unclippedReadBases.length; i++) { if (unclippedReadQuals[i] < PairHMMIndelErrorModel.BASE_QUAL_THRESHOLD) numStartClippedBases++; else break; } return numStartClippedBases; }  static String encodeValueList( final List<Double> valueList, final String precisionFormat ); static String encodeStringList( final List<String> stringList); static boolean walkerSupportsAlleleSpecificAnnotations(final AnnotatorCompatible walker); static boolean walkerRequiresRawData(final AnnotatorCompatible walker); static boolean isAppropriateInput(final String annotation, final AnnotatorCompatible walker, final PerReadAlleleLikelihoodMap map, final Genotype g, final boolean[] warningsLogged, final Logger logger); static int getFinalVariantReadPosition(final GATKSAMRecord read, final int initialReadPosition); static int getNumClippedBasesAtStart(final SAMRecord read); static int getNumAlignedBases(final GATKSAMRecord read); static int getNumClippedBasesAtEnd(final GATKSAMRecord read); static final String ANNOTATION_HC_WARN_MSG; static final int WARNINGS_LOGGED_SIZE; }### Answer:
@Test(dataProvider = "getNumClippedBasesAtStartTestReads") public void testGetNumClippedBasesAtStart(GATKSAMRecord read, int expected) throws Exception { Assert.assertEquals(AnnotationUtils.getNumClippedBasesAtStart(read),expected); }