/** * Gets an estimated, raw storage size in bytes of this product node. * * @param subsetDef if not <code>null</code> the subset may limit the size returned * * @return the size in bytes. */ @Override public long getRawStorageSize(final ProductSubsetDef subsetDef) { long size = 0; for (int i = 0; i < getNumBands(); i++) { size += getBandAt(i).getRawStorageSize(subsetDef); } for (int i = 0; i < getNumTiePointGrids(); i++) { size += getTiePointGridAt(i).getRawStorageSize(subsetDef); } for (int i = 0; i < getFlagCodingGroup().getNodeCount(); i++) { size += getFlagCodingGroup().get(i).getRawStorageSize(subsetDef); } for (int i = 0; i < getMaskGroup().getNodeCount(); i++) { size += getMaskGroup().get(i).getRawStorageSize(subsetDef); } size += getMetadataRoot().getRawStorageSize(subsetDef); return size; }