public String genSmallDB() {
        String nextLine;
        URL url;
        URLConnection urlConn;
        InputStreamReader inStream;
        BufferedReader buff;
        this.smalldb = "";
        for (Iterator<NEOCP> it = this.neocpData.iterator(); it.hasNext();) {
            NEOCP neocp = it.next();
            try {
                url = new URL(
                        "http://scully.cfa.harvard.edu/cgi-bin/showobsorbs.cgi?Obj="
                        + neocp.getTmpdesig() + "&orb=y");
                urlConn = url.openConnection();
                inStream = new InputStreamReader(
                        urlConn.getInputStream());
                buff = new BufferedReader(inStream);

                while (true) {
                    nextLine = buff.readLine();
                    if (nextLine != null) {
                        Pattern pattern = Pattern.compile("NEOCPNomin");
                        Matcher matcher = pattern.matcher(nextLine);
                        if (matcher.find()) {
                            //output = output + nextLine + (System.getProperty("line.separator"));;

                            Pattern splitPattern = Pattern.compile("^(.{7}) "
                                    + "(.{4})  (.{4})  (.{5}) (.{9})  (.{9})  "
                                    + "(.{9})  (.{9})  (.{9})  (.{10})  "
                                    + "(.{10})");

                            Matcher m = splitPattern.matcher(nextLine);
                            while (m.find()) {
                                String TmpDesig = m.group(1).trim();
                                Float H = Float.parseFloat(m.group(2).trim());
                                Float G = Float.parseFloat(m.group(3).trim());
                                String Epoch = m.group(4).trim();
                                Float M = Float.parseFloat(m.group(5).trim());
                                Float Peri = Float.parseFloat(m.group(6).trim());
                                Float Node = Float.parseFloat(m.group(7).trim());
                                Float Incl = Float.parseFloat(m.group(8).trim());
                                Float e = Float.parseFloat(m.group(9).trim());
                                Float n = Float.parseFloat(m.group(10).trim());
                                Float a = Float.parseFloat(m.group(11).trim());
                                this.smalldb = this.smalldb + String.format("  %-19.19s|%-14.14s|%8.6f  "
                                        + "|%8f|%8.4f|%8.4f |%8.4f| 2000|"
                                        + "%9.4f  |%5.2f|%-5.2f|   0.00" + (System.getProperty("line.separator")), TmpDesig,
                                        unpackEpoch(Epoch), e, a, Incl, Node, Peri, M,
                                        H, G);
                            }
                            break;  // We're only taking the first orbit.
                            // So no point continuing to parse.
                        }
                    } else {
                        break;
                    }
                }
            } catch (MalformedURLException ex) {
                Logger.getLogger(SkyXDB.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(SkyXDB.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return this.smalldb;
    }