package org.xbib.io.compress.xz; class RawCoder { static void validate(FilterCoder[] filters) throws UnsupportedOptionsException { for (int i = 0; i < filters.length - 1; ++i) { if (!filters[i].nonLastOK()) { throw new UnsupportedOptionsException( "Unsupported XZ filter chain"); } } if (!filters[filters.length - 1].lastOK()) { throw new UnsupportedOptionsException( "Unsupported XZ filter chain"); } int changesSizeCount = 0; for (int i = 0; i < filters.length; ++i) { if (filters[i].changesSize()) { ++changesSizeCount; } } if (changesSizeCount > 3) { throw new UnsupportedOptionsException( "Unsupported XZ filter chain"); } } }