class SPPDecoder implements MALDecoder {

	@Override
	public FineTime decodeFineTime() throws MALException {
		CCSDSTime tf = getFineTimeFormatter();
		byte[] tField = read(tf.getDataLength());
		AbsoluteDate time = tf.getDecodedTime(tField);
		AbsoluteDate epoch = CCSDSTime.createEpoch(Configuration.MAL_FINE_TIME_EPOCH, Configuration.MAL_FINE_TIME_EPOCH_TIMESCALE);
		long coarseSeconds = (long) time.durationFrom(epoch);
		AbsoluteDate coarseTime = epoch.shiftedBy(coarseSeconds);
		long picoSeconds = coarseSeconds * 1000000000000L + Math.round(time.durationFrom(coarseTime) * 1000000000000L);
		return new FineTime(picoSeconds);
	}

	public  SPPDecoder(final InputStream inputStream, final Map properties);

}