code: public static Identifier fromCompoundString(String identifier) {
          String[] parts = identifier.split("/");
          if (parts.length != 2) {
              String[] rhs = identifier.split(":");
              if (rhs.length != 2) {
                  return new Identifier(new Repository(identifier), null);
              } else {
                  return new Identifier(new Repository(rhs[0]), rhs[1]);
              }
          }
  
          String[] rhs = parts[1].split(":");
          if (rhs.length != 2) {
              return new Identifier(new Repository(identifier), null);
          }
  
          return new Identifier(new Repository(parts[0] + "/" + rhs[0]), rhs[1]);
      }
docs: Return an identifier that correctly splits up the repository and tag. There can be &gt; 1 ":" fred/jim --&gt; fred/jim, []
  fred/jim:123 --&gt; fred/jim, 123 fred:123/jim:123 --&gt; fred:123/jim, 123
  
  
  @param identifier
  as a string
  @return parsed identifier.