Buggy code:
public class L1cMetadataProc extends S2MetadataProc { public static String getModulesDir ( ) throws FileNotFoundException , URISyntaxException { } public static String tryGetModulesDir ( ) { } @ Deprecated public static Object readJaxbFromFilename ( InputStream stream ) throws FileNotFoundException , JAXBException { } public static JAXBContext getJaxbContext ( ) throws FileNotFoundException , JAXBException { } public static ProductCharacteristics parseCharacteristics ( Level1C_User_Product product ) { } public static ProductCharacteristics getProductOrganization ( Level1C_User_Product product ) { L1cMetadata . ProductCharacteristics characteristics = new L1cMetadata . ProductCharacteristics ( ) ; characteristics . spacecraft = product . getGeneral_Info ( ) . getProduct_Info ( ) . getDatatake ( ) . getSPACECRAFT_NAME ( ) ; characteristics . datasetProductionDate = product . getGeneral_Info ( ) . getProduct_Info ( ) . getDatatake ( ) . getDATATAKE_SENSING_START ( ) . toString ( ) ; characteristics . processingLevel = product . getGeneral_Info ( ) . getProduct_Info ( ) . getPROCESSING_LEVEL ( ) . getValue ( ) . value ( ) ; characteristics . setMetaDataLevel ( product . getGeneral_Info ( ) . getProduct_Info ( ) . getQuery_Options ( ) . getMETADATA_LEVEL ( ) ) ; List < S2SpectralInformation > aInfo = new ArrayList < > ( ) ; if ( ( product . getGeneral_Info ( ) . getProduct_Image_Characteristics ( ) . getSpectral_Information_List ( ) ) != null ) { List < A_PRODUCT_INFO_USERL1C . Product_Image_Characteristics . Spectral_Information_List . Spectral_Information > spectralInfoList = product . getGeneral_Info ( ) . getProduct_Image_Characteristics ( ) . getSpectral_Information_List ( ) . getSpectral_Information ( ) ; for ( A_PRODUCT_INFO_USERL1C . Product_Image_Characteristics . Spectral_Information_List . Spectral_Information sin : spectralInfoList ) { S2SpectralInformation data = new S2SpectralInformation ( ) ; data . setBandId ( Integer . parseInt ( sin . getBandId ( ) ) ) ; data . setPhysicalBand ( sin . getPhysicalBand ( ) . value ( ) ) ; data . setResolution ( sin . getRESOLUTION ( ) ) ; int size = sin . getSpectral_Response ( ) . getVALUES ( ) . size ( ) ; data . setSpectralResponseValues ( ArrayUtils . toPrimitive ( sin . getSpectral_Response ( ) . getVALUES ( ) . toArray ( new Double [ size ] ) ) ) ; data . setWavelengthCentral ( sin . getWavelength ( ) . getCENTRAL ( ) . getValue ( ) ) ; data . setWavelengthMax ( sin . getWavelength ( ) . getMAX ( ) . getValue ( ) ) ; data . setWavelengthMin ( sin . getWavelength ( ) . getMIN ( ) . getValue ( ) ) ; aInfo . add ( data ) ; } } else { <START_BUG> aInfo . add ( new S2SpectralInformation ( "B1" , 0 , 60 , 414 , 472 , 490 ) ) ; <END_BUG> aInfo . add ( new S2SpectralInformation ( "B2" , 1 , 10 , 425 , 555 , 490 ) ) ; aInfo . add ( new S2SpectralInformation ( "B3" , 2 , 10 , 510 , 610 , 560 ) ) ; aInfo . add ( new S2SpectralInformation ( "B4" , 3 , 10 , 617 , 707 , 665 ) ) ; aInfo . add ( new S2SpectralInformation ( "B5" , 4 , 20 , 625 , 722 , 705 ) ) ; aInfo . add ( new S2SpectralInformation ( "B6" , 5 , 20 , 720 , 760 , 740 ) ) ; aInfo . add ( new S2SpectralInformation ( "B7" , 6 , 20 , 741 , 812 , 783 ) ) ; aInfo . add ( new S2SpectralInformation ( "B8" , 7 , 10 , 752 , 927 , 842 ) ) ; aInfo . add ( new S2SpectralInformation ( "B8A" , 8 , 20 , 823 , 902 , 865 ) ) ; aInfo . add ( new S2SpectralInformation ( "B9" , 9 , 60 , 903 , 982 , 945 ) ) ; aInfo . add ( new S2SpectralInformation ( "B10" , 10 , 60 , 1338 , 1413 , 1375 ) ) ; aInfo . add ( new S2SpectralInformation ( "B11" , 11 , 20 , 1532 , 1704 , 1610 ) ) ; aInfo . add ( new S2SpectralInformation ( "B12" , 12 , 20 , 2035 , 2311 , 2190 ) ) ; } int size = aInfo . size ( ) ; characteristics . bandInformations = aInfo . toArray ( new S2SpectralInformation [ size ] ) ; return characteristics ; } public static Collection < String > getTiles ( Level1C_User_Product product ) { } public static S2DatastripFilename getDatastrip ( Level1C_User_Product product ) { } public static S2DatastripDirFilename getDatastripDir ( Level1C_User_Product product ) { } public static Collection < String > getImages ( Level1C_User_Product product ) { } public static Map < Integer , L1cMetadata . TileGeometry > getTileGeometries ( Level1C_Tile product ) { } public static AnglesGrid getSunGrid ( Level1C_Tile product ) { } public static AnglesGrid [ ] getAnglesGrid ( Level1C_Tile product ) { } public static MaskFilename [ ] getMasks ( Level1C_Tile aTile , File file ) { } }

Fix:
aInfo . add ( new S2SpectralInformation ( "B1" , 0 , 60 , 414 , 472 , 443 ) ) ;