// Path: humanize-slim/src/main/java/humanize/spi/FormatProvider.java
// public interface FormatProvider
// {
// 
//     /**
//      * Gets the format factory.
//      * 
//      * @return a {@link FormatFactory} instance
//      */
//     FormatFactory getFactory();
// 
//     /**
//      * Gets the format name that will be registered. If you want to register
//      * multiple names for a format then return a String with the names
//      * concatenated by a vertical bar character '|'.
//      * 
//      * @return the format name
//      */
//     String getFormatName();
// 
// }
// 
// Path: humanize-slim/src/main/java/humanize/text/FormatFactory.java
// public interface FormatFactory
// {
// 
//     /**
//      * Creates a {@link Format} instance for the given parameters. The format
//      * will be accessible as '{0, name, args}'.
//      * 
//      * @param name
//      *            The format name
//      * @param args
//      *            The format arguments
//      * @param locale
//      *            Target locale
//      * @return a new {@link Format} instance
//      * @see MessageFormat
//      */
//     Format getFormat(String name, String args, Locale locale);
// 
// }


import humanize.spi.FormatProvider;
import humanize.text.FormatFactory;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.text.FieldPosition;
import java.text.Format;
import java.text.ParsePosition;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import org.ocpsoft.prettytime.Duration;
import org.ocpsoft.prettytime.PrettyTime;
import org.ocpsoft.prettytime.TimeFormat;
import org.ocpsoft.prettytime.TimeUnit;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
package humanize.time;





/**
 * {@link Format} implementation for {@link PrettyTime}.
 * 
 */
public class PrettyTimeFormat extends Format implements FormatProvider
{

    private static final long serialVersionUID = -1398312177396430967L;

// Path: humanize-slim/src/main/java/humanize/spi/FormatProvider.java
// public interface FormatProvider
// {
// 
//     /**
//      * Gets the format factory.
//      * 
//      * @return a {@link FormatFactory} instance
//      */
//     FormatFactory getFactory();
// 
//     /**
//      * Gets the format name that will be registered. If you want to register
//      * multiple names for a format then return a String with the names
//      * concatenated by a vertical bar character '|'.
//      * 
//      * @return the format name
//      */
//     String getFormatName();
// 
// }
// 
// Path: humanize-slim/src/main/java/humanize/text/FormatFactory.java
// public interface FormatFactory
// {
// 
//     /**
//      * Creates a {@link Format} instance for the given parameters. The format
//      * will be accessible as '{0, name, args}'.
//      * 
//      * @param name
//      *            The format name
//      * @param args
//      *            The format arguments
//      * @param locale
//      *            Target locale
//      * @return a new {@link Format} instance
//      * @see MessageFormat
//      */
//     Format getFormat(String name, String args, Locale locale);
// 
// }


// Path: humanize-slim/src/main/java/humanize/time/PrettyTimeFormat.java
import humanize.spi.FormatProvider;
import humanize.text.FormatFactory;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.text.FieldPosition;
import java.text.Format;
import java.text.ParsePosition;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import org.ocpsoft.prettytime.Duration;
import org.ocpsoft.prettytime.PrettyTime;
import org.ocpsoft.prettytime.TimeFormat;
import org.ocpsoft.prettytime.TimeUnit;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;

package humanize.time;





/**
 * {@link Format} implementation for {@link PrettyTime}.
 * 
 */
public class PrettyTimeFormat extends Format implements FormatProvider
{

    private static final long serialVersionUID = -1398312177396430967L;

    public static FormatFactory factory()