code: public Map<String, String> getSkeletons(Map<String, String> result) {
          if (result == null) {
              result = new LinkedHashMap<String, String>();
          }
          for (DateTimeMatcher item : skeleton2pattern.keySet()) {
              PatternWithSkeletonFlag patternWithSkelFlag = skeleton2pattern.get(item);
              String pattern = patternWithSkelFlag.pattern;
              if (CANONICAL_SET.contains(pattern)) {
                  continue;
              }
              result.put(item.toString(), pattern);
          }
          return result;
      }
docs: Return a list of all the skeletons (in canonical form) from this class,
  and the patterns that they map to.
  
  @param result an output Map in which to place the mapping from skeleton to
  pattern. If you want to see the internal order being used,
  supply a LinkedHashMap. If the input value is null, then a
  LinkedHashMap is allocated.
  <p>
  <i>Issue: an alternate API would be to just return a list of
  the skeletons, and then have a separate routine to get from
  skeleton to pattern.</i>
  @return the input Map containing the values.