public static void setLoaders(final IERSConventions conventions, final List<EOPEntry> eop) {

    OrekitUtils.clearFactoryMaps(FramesFactory.class);
    OrekitUtils.clearFactoryMaps(TimeScalesFactory.class);

    FramesFactory.addEOPHistoryLoader(
        conventions,
        new EOPHistoryLoader() {
          public void fillHistory(
              IERSConventions.NutationCorrectionConverter converter, SortedSet<EOPEntry> history) {
            history.addAll(eop);
          }
        });
  }
 public static void clearFactories() {
   OrekitUtils.clearFactoryMaps(CelestialBodyFactory.class);
   CelestialBodyFactory.clearCelestialBodyLoaders();
   OrekitUtils.clearFactoryMaps(FramesFactory.class);
   OrekitUtils.clearFactoryMaps(TimeScalesFactory.class);
   OrekitUtils.clearFactory(TimeScalesFactory.class, TimeScale.class);
   OrekitUtils.clearFactoryMaps(JacobiPolynomials.class);
   OrekitUtils.clearFactoryMaps(NewcombOperators.class);
   for (final Class<?> c : NewcombOperators.class.getDeclaredClasses()) {
     if (c.getName().endsWith("PolynomialsGenerator")) {
       OrekitUtils.clearFactoryMaps(c);
     }
   }
   // FramesFactory.setEOPContinuityThreshold(5 * Constants.JULIAN_DAY);
   // TimeScalesFactory.clearUTCTAILoaders();
   OrekitUtils.clearJPLEphemeridesConstants();
   GravityFieldFactory.clearPotentialCoefficientsReaders();
   GravityFieldFactory.clearOceanTidesReaders();
   DataProvidersManager.getInstance().clearProviders();
   DataProvidersManager.getInstance().clearLoadedDataNames();
 }